来源:C++Primer P1 ~ P49
级别:100
std::endl
注意:效果不仅仅是换行,还会刷新缓冲区,以便立即看到结果。
在debug过程中的log应该每句都用endl刷新缓冲区,避免因崩溃导致的缓冲区信息丢失,造成调试误导。
MS-DOS窗口中输入Ctrl+Z来输入文件结束符
注意:在一些简短的小测试程序中,经常会用while (std::cin >> value)来获取输入,这时按回车并不会导致退出循环,按Ctrl+Z则可以达到目的。
true和false
注意:任何非0值都代表true。0值代表false,-1也是true。
L'a'和L"abc"
注意:在字符(串)字面值前加L可以得到wchar_t类型的宽字符(串)字面量。
std::cout << "ab" L"cd" << std::endl;
注意:连接字符串字面量与宽字符串字面量的结果是未定义的。
int i(100);与int i = 100;
注意:上面的是直接初始化,下面的是复制初始化。
直接初始化更灵活(多个参数),效率更高(少赋值一次)。
内置类型的自动初始化
注意:内置类型如果在函数外定义,则会自动初始化为0。而在函数体内的定义不会自动初始化。
在函数体内的变量定义都应该手动初始化。
类类型的自动初始化
注意:无论在函数内或外定义,如果没有提供初始化式,都会调用默认构造函数。