C++ primer笔记 -基本语言
C++最重要的特征是类,程序员可以使用类自定义数据类型,C++有时候将这些类型称为“类类型”,以区别于内置类型。
类型作用:
1、告诉我们数据代表的是什么意思
2、对数据可以执行哪些操作
算数类型:整数、单个字符、布尔值(整型)和浮点数(浮点型)。C++标准规定了每个算术类型的最小存储空间,但它并不阻止编译器使用更大的存储空间。(限制了最小的但没有限制最大的)
C++程序员通常把变量称为“变量”或者“对象”。
变量的类型作用:
1、决定了变量的内存大小和布局
2、能够存储与该内存中的值的取值范围以及在该变量上的操作集
左值和右值的区别:
左值就是变量的地址,或者一个代表“对象在内存中的位置”的表达式。
右值就是变量的值。
左值可以出现在赋值语句的左边或者右边,但右值只能出现在右边
1 int k =0;
2 int j = k;
k作为一个变量,可以出现在左边或者右边。变量是一个左值
变量的定义是为变量分配存储空间,还可以为变量指定初始值。
声明用于向程序表明变量的类型和名字,一般使用关键字extern来声明。
初始化:复制初始化和直接初始化
1 int k(1024); //复制初始化
2 int k = 1024; //直接初始化
对类类型来说,每个类会定义或者使用默认的构造函数来进行成员变量的初始化。
extern关键字是声名变量名而不是定义它,说明变量的定义在函数的其他地方,在程序中变量可以声明多次,但只能定义一次。
作用域:全局作用域、局部作用域和语句作用域。
1 #include<iostream>
2 int g_sum; //全局作用域
3 int main()
4 {
5 int sum =0; //局部作用域
6 for(int val =1;val != 112;val++) //val 语句作用域
7 sum += val;
8 std::cout << "Sum=“ <<sum <<std::endl;
9 return 0;
10 }
常量const 在定义时,必须给予初始化,并在以后不允许被修改。
在全局作用域中声明的const变量是定义该对象的文件局部变量,次变量只存在于那个文件中,不能被其他文件访问。要使const变量能够被其他文件访问,必须使用extern显示的指出来。eg:
1 text.cpp
2 const k= 100; //这个只能在text.cpp中访问
3
4 text2.cpp
5 extern const k =100; //这个可以被任意文件访问
typedefy 用来定义类型的同义词
枚举 enum ,默认第一个枚举成员的赋值为0,后面的内个成员都比前面的大1.
enum Point{
point1,point2,point3,point4
};
Point pt = point1;
Point ptd =pt;
枚举类型的对象初始化或者赋值,只能通过其枚举成员或者同一枚举类型的其他对象来进行。
类:
类定义了组成该类型的数据(成员变量)和操作(成员函数)。定义了类就相当于定义了一个新的类型,该类型的名字就是类名。
当利用这个类名定义一个对象时,则每个对象所占据的存储空间只与该对象数据成员所占据的存储空间有关系,与成员函数无关。
变量定义用于为变量分配存储空间,还可以为变量指定初始化的值,在一个程序中,变量有且只有一个定义。
定义变量和定义数据成员有非常重要的区别:一般不能把类成员的初始化作为其定义的一部分。当定义数据成员时,只能指定该数据成员的名字和类型。类不是在类定义里定义数据成员时初始化数据成员而是通过构造函数来初始化(成员列表或者构造函数体内进行赋值初始化)。
使用class与stuct定义类的区别仅仅是影响默认初始访问的级别,class默认访问的是pricate,stuct默认访问的是public。
C++ primer笔记 -基本语言的更多相关文章
- C++ Primer笔记
C++ Primer笔记 ch2 变量和基本类型 声明 extern int i; extern int i = 3.14;//定义 左值引用(绑定零一变量初始值,别名) 不能定义引用的引用:引用必须 ...
- [java学习笔记]java语言核心----面向对象之this关键字
一.this关键字 体现:当成员变量和函数的局部变量重名时,可以使用this关键字来区别:在构造函数中调用其它构造函数 原理: 代表的是当前对象. this就是所在函数 ...
- [java学习笔记]java语言核心----面向对象之构造函数
1.构造函数概念 特点: 函数名与类名相同 不用定义返回值类型 没有具体的返回值 作用: 给对象进行初始化 注意: 默认构造函数 多个构造函数是以重载出现的 一个类中如果 ...
- Java学习笔记:语言基础
Java学习笔记:语言基础 2014-1-31 最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...
- IOS学习笔记07---C语言函数-printf函数
IOS学习笔记07---C语言函数-printf函数 0 7.C语言5-printf函数 ------------------------- ----------------------------- ...
- IOS学习笔记06---C语言函数
IOS学习笔记06---C语言函数 -------------------------------------------- qq交流群:创梦技术交流群:251572072 ...
- c++ primer 笔记 (一)
昨天开始看的<C++ Primer>,确实不错.希望这周抓紧看完,每天做下笔记,以便以后复习. main函数返回一个值给操作系统 操作系统通过main函数返回的值来确定程序是否成功执行 ...
- C++ Primer 笔记(1)基础中的战斗机 输入输出 对输入不定数据处理
今天打算再重新好好的看一遍C++ Primer这本很经典的书籍,笔记开始: 1.每个C++程序都包含一个或者多个函数,其中必须有一个main,操作系统通过调用main入手运行程序: 2.函数包括:返回 ...
- 《C语言深度剖析》学习笔记----C语言中的符号
本节主要讲C语言中的各种符号,包括注释符.单引号双信号以及逻辑运算符等. 一.注释符 注释符号和注释在程序的预编译期就已经被解决了,在预编译期间,编译器会将注释符号和注释符号之间的部分简单的替换成为空 ...
- C++ Primer 笔记 第一章
C++ Primer 学习笔记 第一章 快速入门 1.1 main函数 系统通过调用main函数来执行程序,并通过main函数的返回值确定程序是否成功执行完毕.通常返回0值表明程序成功执行完毕: ma ...
随机推荐
- lg7863
傻题. 对于相邻的每个点,从高度高的点向高度低的点连边. 依靠差分的思想,设边权是高度差. 考虑第一问,答案显然是这个图dag路径覆盖,可以运行最大流. 考虑第二问.如果每连一条链,那么答案会加上这条 ...
- Solidity8.0-03
对应崔棉大师 41-50课程https://www.bilibili.com/video/BV1yS4y1N7yu/?spm_id_from=333.788&vd_source=c81b130 ...
- flask 项目构建
创建虚拟环境 mkvirtualenv 环境名 安装所需要的包 pip install flask == 0.12.4 pip install redis pip install flask-ses ...
- Java面向对象之封装详解
封装详解 封装 该露的露,该藏的藏 1.我们程序设计要追求"高内聚.低耦合".高内聚:类的内部数据操作细节自己完成,不允许外部干涉:低耦合:仅暴露少量的方法给外部使用. 封装(数据 ...
- hive知识点总结
hive知识点总结 1.什么是HIVE? 1.hive是hadoop生态圈的一个工具,提供一种结构化查询语言,可以查询HDFS或者其他文件系统上的文件. 2.hive操作: 1.hive一次使用命令: ...
- css你所不知道技巧
利用属性选择器来选择空链接 当 <a> 元素没有文本内容,但有 href 属性的时候,显示它的 href 属性: a[href^="http"]:empty::befo ...
- js 监听 变量变化
var o = {};setTimeout(function () { o.abb = '2';}, 4000);Object.defineProperties(o, { abb: { configu ...
- react框架-知识点(ref,, setState)
react的思想:无必要勿增实体 1. ref 使用 myRef = React.createRef() <input ref={this.myRef}></input> 2. ...
- HCIP-进阶实验05-Eth-Trunk配置部署
HCIP-进阶实验06-Eth-Trunk配置部署 1 实验需求 1.1 实验拓扑 1.2 实验环境说明 无 1.3 实验需求 本实验共采用3台三层交换机.1台路由器.认真分析实验需求,明确每步考查的 ...
- tesseract-ocr 安装、语言库、使用 随记
前几日才听说ocr的图片识别功能.觉得很有意思.先体验一下. 地址: GitHub - tesseract-ocr/tesseract: Tesseract Open Source OCR Engin ...