
深入应用C++11
zimengyu2020
这个作者很懒,什么都没留下…
展开
-
【读书笔记】【深入应用C++11】1.4 基于范围的for循环
摘自:深入应用C++:代码优化与工程级应用1.4.1 for循环的新用法std::for_each()使用std::for_each()做循环,不需要关心迭代器的概念,只需要关心容器的类型。如:#include void do_count(int n){ cout<<n<<endl;}vectorint> vect={1,2,3,4,5,6,7,转载 2018-01-22 17:23:30 · 264 阅读 · 0 评论 -
【读书笔记】【深入应用C++11】1.1 类型推导
auto关键字 decltype关键字转载 2018-01-16 15:38:28 · 199 阅读 · 0 评论 -
【读书笔记】【深入应用C++11】1.5 std::function和bind绑定器
摘自:深入应用C++11:代码优化与工程级应用1.5.1 可调用对象在C++98/03中,可调用对象包括以下几种:函数指针具有opterator()成员函数的类对象(仿函数)可被转换为函数指针的类对象类成员(函数)指针//仿函数class Foo{public: void operator()(void) { cout"opera转载 2018-01-24 17:27:07 · 250 阅读 · 1 评论 -
【读书笔记】【深入应用C++11】1.2 模板的细节改进
摘自:深入应用C++11:代码优化与工程应用1.2.1 模板的右尖括号C++98/03 会将连续的两个右尖括号(>>)解释为右移操作符,而不是模板参数表的结束。 如:vector> vect;会出现编译错误,需要改写成vector > vect; C++11中修正了这一错误;但是会出现与老标准不兼容的情况,如:Foo> 2> xx;需要改写成Foo> 2)> xx;1.2.2转载 2018-01-17 16:23:01 · 213 阅读 · 0 评论 -
【读书笔记】【深入应用C++11】1.3 列表初始化
摘自:深入应用C++11:代码优化与工程级应用 在C++98/03中存在着种类繁多的初始化方式。C++11为了统一初始化方式,提出了列表初始化的概念。1.3.1 统一的初始化在C++98/03中,只有普通数组和POD类型可以使用初始化列表。 【POD类型】plain old data类型,即可以直接用memcpy复制的对象。如:int i_arr[3]={1,2,3};str转载 2018-01-19 15:17:46 · 260 阅读 · 0 评论 -
[读书笔记][深入应用C++11]2.1 右值引用
C++98中的左值与右值在C++98/03中,只有左值与右值两种类型值类型。左值是指表达式结束后依然存在的持久对象,右值是指表达式结束时就不存在的临时对象。区分左值和右值得方法是:能不能对表达式取地址,如果能则为左值,否则为右值。C与C++98中右值的区别C++检测到右值在内存中存在对应的实体,会自动转换为左值。 例如:以下代码在C中无法编译通过,因为其对右值进行操作;而在C++...转载 2018-04-18 21:33:04 · 219 阅读 · 0 评论