摘要:
lambda 表达式可以说是 c++11 引用的最重要的特性之一, 它定义了一个匿名函数, 可以捕获一定范围的变量在函数内部使用 语法如下: auto func = [capture] (params) opt -> ret { func_body; }; 参数: func:lambda表达式的名字 阅读全文
摘要:
原理: 智能指针是一个类,用来存储指向动态分配对象的指针,负责自动释放动态分配的对象,防止堆内存泄漏。 动态分配的资源,交给一个类对象去管理,当类对象声明周期结束时,自动调用析构函数释放资源 所以智能指针不用手动去释放内存 常用的智能指针: 1、shared_ptr: 实现原理:采用引用计数器的方法 阅读全文
摘要:
1、auto 让编译器通过初始值来进行类型推演 所以说 auto 定义的变量必须有初始值 使用过程 //普通;类型 int a = 1, b = 3; auto c = a + b;// c为int型 //const类型 const int i = 5; auto j = i; // 变量i是顶层c 阅读全文
摘要:
C++中NULL和nullptr区别? NULL来自C语言,一般由宏定义实现,而 nullptr 则是C++11的新增关键字。 在C语言中,NULL被定义为(void*)0,而在C++语言中,NULL则被定义为整数0,如下定义: #ifdef __cplusplus #define NULL 0 # 阅读全文
摘要:
C++ 11有哪些新特性? nullptr替代 NULL 引入了 auto 和 decltype 这两个关键字实现了类型推导 基于范围的 for 循环for(auto& i : res){} 类和结构体的中初始化列表 Lambda 表达式(匿名函数) std::forward_list(单向链表) 阅读全文