C++基础细节(一)

1.C++将非零的值解释为TRUE,将零解释为FALSE.任何数字或指针都可隐式转换为bool值。任何非零值被转换为TRUE,零值被转换为FALSE。


2.对于超越变量范围的赋值,其值将为范围另一端的取值。变量在内存中的存储可以看成一个环。以short为例。无符号short,0位重置点,从0至65535依此增大,

65535+1为0,0-1为65535。有符号short,从0至32767依此增大,然后为重置点。然后为-32768至-1依此增大。即32767+1为-32768,0-1为-1。


3.C++进展控制符为dec,hex,oct。分别对应十进制,十六进制和六进制。当使用一个进制控制符后,后面的所有输出都为改变后的进制输出。


4.char在默认情况下既不是有符号,也不是没符号。是否有符号由C++实现决定。


5.cin,cout将输入输出流看做是char流。想处理wchar_t要使用wcin和wcout。


6.计算机将浮点数分为两部分存数。一部分表示值,一部分用于对值进行放大或缩小。其中缩放因子为2的幂而不是10的幂。


7.浮点运算比整数运算慢,并且精度将降低。因为多超过精度的部分修改不影响修改结果。如float a = 2.34E+22f。float b = a + 1.0f; b - a = 0; 而不是1。


8.C++整数除法截取整数部分。


9.将浮点数赋给整数,若数的大小在范围内则截取整数部分。若超出整数最大存数范围,则结果可能是任意的。将低精度赋给高精度,则将扩展出一个高精度数存储在高精度变量中,低精度数值、精度不变。


10.自然长度指的是计算机处理起来最快的长度,一般为int。


11.初始化列表初始化很严格。不允许缩窄,即变量的类型可能无法表示赋给他的值。不允许以变量赋值,即使当前变量已经初始化。

char c1 = {3124}; int x = 66; char c2 = {x}; 都是不允许的。使用大括号初始化,默认值为0。


12.在计算表达式时,bool,char,short,unsigned char,singed char和short都将转为int。这些转换称为整形提升。当运算设计两种类型时,较小的类型将被转为较大的类型。

13.强制转换不会修改变量本身,而是创建一个新的、指定的类型的值。这个值可以在表达式中使用。


14.在表达式终于使用关键字auto,编译器把变量的类型设置成与初始值相同。处理复杂数据类型,如STL时,自动类型推断的有时才能显示出来。

15.在大括号内定义括号外已有的变量,新变量将隐藏旧变量。在出大括号后,原变量可见。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值