C++的一些细节
1.C++中,将负数赋值给unsigned是完全合法的。例如,将-1赋值给unsigned char,那么结果是255.
2.C++中,double的精度和计算速度都要超过float,long double则需要承担额外的运行代价。
3.std:ou/
t<<"Hi"<<st/
d:endl
等价于std:out<<"Hi"<<std:endl
4.C++中,定义和声明一般都是同时进行的,只有一种情况,extern,extern声明不是定义,也不分配内存,它只是说明变量声明在什么地方,程序中变量可以声明多次,却只能定义一次
5.在函数中定义一个与全局变量重名的变量会屏蔽掉原来的全局变量
6.非const变量默认为extern,要是const变量能够在其他文件中访问,需要显示的指定为extern
7.当引用初始化后,只要该引用存在,它就保持绑定到初始化时指向的对象,不可能将引用绑定到另一个对象
8.struct和class在C++里都可以原来定义类,不同的是,默认情况下,struct的成员是public,class的成员是private
9.getline(cin,string line)不忽略行开头的换行符,只要getline遇到换行符,getline就将停止读入,getline将istream作为返回值。
10.string.size()的返回值不上整型,而是配套类型string::size_type,vector等也与之类似。
11.0值指针的删除是合法的,尽管没有任何的意义