C++ Primer(一)
来源:互联网 发布:网易云音乐 知乎 编辑:程序博客网 时间:2024/05/17 10:25
变量
1.变量类型
1. 常用的C++算术类型
bool
boole type undifine char
character type 8 byte int
integer type 16 byte long
long integer 32 byte long long
longer long integer 64 byte float
single precision float 6 significant number double
double precision float 10 significant number2. 类型转换
- 非boole类型的算术值赋给boole类型时,初始值为0则结果为false,初始值不为0时则结果为true。
- boole类型的算术值赋给非boole类型时,false的结果为0,true的结果为1。
- 浮点数类型的算术值赋给整型时,结果向下取整。
- 整型的算术值赋给浮点数类型时,小数部分为0.
- 给无符号类型赋一个超出其表示范围的值时,结果为初始值模无符号类型能表示数值总数取整后的值。
例如,8 byte大小的unsigned char
可以表示unsigned char
,那么结果是
unsigned u = 10, u2 = 42; cout << u2 - u << endl; cout << u - u2 << endl;
unsigned u = 10, u2 = 42; cout << u2 - u << endl; cout << u - u2 << endl; int i = 10, i2 = 42; cout << i2 - i << endl; cout << i - i2 << endl; cout << i - u << endl; cout << u - i << endl; cout << i - u2 << endl; cout << u2 - i << endl;
只有u-u2
和i-u2
是有unsigned
类型参与的运算但结果为负数,因此需要取4294967264
。
2. 变量初始化
3. 变量标识符(变量名)
C++对于变量标识符必须由数字、字母和下划线组成。
标识符必须以下划线或者是字母开头,标识符长度无限制,大小写敏感。
命名法则(Camel Case):变量标识符应当反应出变量的实际含义;第一组单词全部小写,以后的每个单词首字母大写。
int salesProfit;//这是一个好的变量名,符合Camel法则int a,b;//这是一个坏的变量名
4.名字的作用域
5.引用
引用类型引用另外一种类型,通过将声明符写作&d
的形式来定义引用类型,其中d
是声明的新变量名。
int ival=1024;int &refVal=ival; //refVal是ival的另一个名字int &refval2; // Error:reference must be initialized.
Note
- 一般在初始化变量的时候,初始值会被拷贝到新建的对象中。
- 然而在定义引用时,程序把引用和它的初始值绑定在一起,而不是把初始值拷贝给引用,一旦初始化完成,引用将和它的初始值一直绑定在一起。
- 因为无法将引用重新绑定到另一个对象。
int ival = 12,uval=10; int &refVal = ival; cout << "refVal=" << refVal << '\0' << "ival=" << ival << endl; //输出 refVal=12 ival=12 refVal = uval; cout << "refVal=" << refVal << '\0' << "ival=" << ival << endl; //输出 refVal=10 ival=10 return 0;
可以看出一旦对引用初始化以后,一改全改,对引用的任何操作都看作对于初始值的操作。
0 0
- C++Primer读书笔记(一)
- C++Primer观后感(一)
- C++primer读书笔记(一)
- c++primer 笔记(一)
- C Primer Plus(一)
- C++primer学习心得(一)
- C++Primer 笔记(一)
- C++primer知识点(一)
- C++primer学习笔记(一)
- C++Primer学习笔记(一)
- c++Primer笔记(一,二)
- C primer plus 基础总结(一)
- C++primer中类(一)
- C Primer Plus外藩(一)---枚举
- C PRIMER PLUS总结(一)
- 《C++Primer》读书笔记(一)开始
- C Primer Plus 知识点整理(一)
- c++primer plus阅读笔记(一)
- 消息的传输控制拒绝和英达
- java获取选中月份的最后一天!
- Java笔记整理:对象
- Java 面试中你最易忽略9道的程序题
- spring 如何决定使用jdk动态代理和cglib(网易面试题)
- C++ Primer(一)
- AnyRTC : 这一次我们重新定义连麦直播
- linux 下如何添加快捷键
- excle表格导出-MVC
- editplus连接服务器530错误
- linux(arm架构)内存管理学习(1)
- table复选框全选功能
- ehcache中xml配置
- JavaScript强化教程——Window Location