effective modern C++ 代码实践记录
针对effective modern C++的条例进行代码实践,深入理解各个条例的实际用处。
贡橙小码农
这个作者很懒,什么都没留下…
展开
-
Modern Effective C++ Item7 阅读笔记
Item 7:在定义变量时,需要区分()和 { } 的作用。要点一:{}是最广泛应用的初始化语法,可以避免收缩转换,避免绝大部分的变量错误定义。以下是两个例子体现{}的作用。(1).定义不可拷贝的变量时,可以采用{},()来赋值;当采用“=”赋值时会出错std::atomic<int> a = 1;//errorstd::atomic<int> a(1);//finestd::atomic<int> a{1};//fine(2).使用{}定义变量原创 2022-03-18 15:27:47 · 528 阅读 · 0 评论 -
使用nullptr代替0或者NULL(effective Modern C++ Item 8)
理由一:使用nullptr代替0或者NULL可以避免重载函数的意外事件,例如void fun(int a) { std::cout << "int"; }void fun(void* ptv) { std::cout << "void*"; }int main(){ fun(0); fun(NULL); fun(nullptr);}输出结果 可以看出nullptr没有整数类型,而NULL拥有整数类型,导致调用了第一个函数,使用nullptr可以...原创 2022-03-23 10:38:49 · 1257 阅读 · 0 评论