摘要: #include #include #include #include #include #include using namespace std; // lambda函数的语法定义:(采用了追踪返回类型的方式声明其返回值) // [capture](parameters) mutable -> return-type{statement;} // [],捕捉列表,捕捉上下文中的变量... 阅读全文
posted @ 2018-09-30 17:41 陈峰 阅读(1679) 评论(0) 推荐(0)
摘要: #include #include #include #include using namespace std; // 智能指针 -> 一个指向带计数的内存的变量 // unique_ptr 任何时刻内存只有一个拥有者 // share_ptr 每次添加引用,计数加1 // weak_ptr, 仅简单指向,不计数;在使用lock后, 尝试返回share_ptr, 无效返回 nullp... 阅读全文
posted @ 2018-09-30 16:10 陈峰 阅读(199) 评论(0) 推荐(0)
摘要: #include #include #include using namespace std; class OuterType{ public: struct InnerType {int i; }; InnerType GetInner(); InnerType it; }; //返回类型后置语法,将decltype和auto结果起来完成返回值类型的推导... 阅读全文
posted @ 2018-09-30 14:47 陈峰 阅读(596) 评论(0) 推荐(0)
摘要: C++ 已经拥有了拷贝构造函数, 和赋值函数,它们主要定位为浅和深度拷贝, 新增加一个移动构造函数,主要避免拷贝构造。 在定义了移动构造函数的情况下,在实参(argument)是一个右值(rvalue,包括xvalue和prvalue)的情况下会调用移动构造函数,而不是调用复制构造函数 可以使用st 阅读全文
posted @ 2018-09-30 11:08 陈峰 阅读(617) 评论(0) 推荐(0)
摘要: 1、任何使用原常量的地方, 已经直接编码到代码中去了。故后续转换类型并不能改变原定义 2、const_cast转换, 是使用了新指针或者引用,指向了原定义的内存,故而可以修改该内存。 使用也得用新指针或者引用来访问 1、任何使用原常量的地方, 已经直接编码到代码中去了。故后续转换类型并不能改变原定义 阅读全文
posted @ 2018-09-30 10:35 陈峰 阅读(187) 评论(0) 推荐(0)
摘要: https://blog.csdn.net/hyman_yx/article/details/52044632 左值、右值 在C++11中所有的值必属于左值、右值两者之一,右值又可以细分为纯右值、将亡值。在C++11中可以取地址的、有名字的就是左值,反之,不能取地址的、没有名字的就是右值(将亡值或纯 阅读全文
posted @ 2018-09-30 09:46 陈峰 阅读(1740) 评论(0) 推荐(0)