随笔分类 -  C++

描述C++基础知识
lambda
摘要:Lambda lambda 表达式 仅仅是一个表达式,例如 std::find_if(container.begin(),container.end(), [](int val) {return 0 < val && val < 10;} ); 中的 [](int val) {return 0 < 阅读全文

posted @ 2021-05-19 17:03 Ultraman_X 阅读(65) 评论(0) 推荐(0)

universal references
摘要:避免overloading on universal references std::multiset<std::string> names; void logAndAdd(const std::string&name) { auto now = std::chrono::system_clock: 阅读全文

posted @ 2021-05-19 11:54 Ultraman_X 阅读(62) 评论(0) 推荐(0)

Copy Elision
摘要:Copy Elision Mandatory(强制性) elision of copy/move operations Under the following circumstances, the compilers are required to omit the copy and move co 阅读全文

posted @ 2021-05-19 10:30 Ultraman_X 阅读(71) 评论(0) 推荐(0)

c11 move 和 forward
摘要:c++11 : move forward 右值 如果一个数你可以获取他的地址那么他就是左值,否则为右值。给定一个类型T,他可以是左值的类型,也可以是右值的类型。这一点很重要。需要记住的是当处理右值引用类型的时候,他的参数本身是个左值。右值代表了这个对象可以进行move操作。 void f(Widge 阅读全文

posted @ 2021-05-08 16:49 Ultraman_X 阅读(280) 评论(0) 推荐(0)

C++内存模型
摘要:一、存储区域: 堆 heap :由malloc分配的内存块,其释放编译器不去管,由我们程序自己控制(一个malloc对应一个free)。如果程序员没有释放掉,在程序结束时OS会自动回收。涉及的问题:“缓冲区溢出”、“内存泄露”2. 自由存储区(free store):由new分配的内存块,其释放编译 阅读全文

posted @ 2021-05-07 08:54 Ultraman_X 阅读(91) 评论(0) 推荐(0)

导航