1313 * [ 临时对象] ( #临时对象 )
1414 * [ 作用域符号 : :] ( #作用域符号 )
1515 * [ 宏,const,inline] ( #宏 )
16-
17- * [ 比较重要的零散的东西] ( #比较重要的零散的东西 )
18- * [ 拷贝构造函数] ( #拷贝构造函数 )
1916 * [ 一个对象的空间布局] ( #一个对象的空间布局 )
2017
2118---
@@ -30,7 +27,7 @@ http://www.cnblogs.com/miloyip/archive/2010/09/17/behind_cplusplus.html
3027
3128在这个地方,我罗列的一些内容是对我而言,比较容易忘记的,或者是掉过一些坑的东西。各个点之间也没有什么逻辑关系。
3229
33- ### 1. 理解extern关键字
30+ ## 1. 理解extern关键字
3431
3532思考一个问题,如何在main.cpp文件里面调用 fun.c 文件里面的func 函数?
3633换一句话,就是如果在c++的代码里面调用c的代码。
@@ -100,7 +97,7 @@ int foo(int a)
10097}
10198```
10299
103- ### 2. 使用初始化列表初始化
100+ ## 2. 使用初始化列表初始化
104101
105102为什么要使用初始化列表初始化?
106103
@@ -118,7 +115,7 @@ public:
118115};
119116```
120117
121- ### 3. 右值引用
118+ ## 3. 右值引用
122119
123120右值引用,是c++里面一个重要的特性。他解决的问题是:** 延长临时对象的生命周期,避免对象拷贝的开销** 。
124121
@@ -355,7 +352,7 @@ desconstruct
355352 cout<<str2<<endl; //st2的输出是空
356353 ```
357354
358- ### 4. 移动构造函数 / 移动赋值函数
355+ ## 4. 移动构造函数 / 移动赋值函数
359356```
360357class Socket
361358{
@@ -426,17 +423,17 @@ Socket::Socket(int sockfd) fd : 100 # Socket s4(move(s1)); 的输出 ,
426423Socket(Socket && rhs)
427424```
428425
429- ### 5. 完美转发 forward
426+ ## 5. 完美转发 forward
430427
431428在函数模板中,完全依照模板的参数的类型(即保持参数的左值、右值特征),将参数传递给函数模板中调用的另外一个函数。
432429
433- ### 6. 智能指针
430+ ## 6. 智能指针
434431
435432这个写起来发现似乎比较多,单独开一个文件写吧。
436433
437434> [c++智能指针](./c++智能指针.md)
438435
439- ### 7. 函数指针
436+ ## 7. 函数指针
440437
441438定义一个函数的指针
442439```
@@ -569,7 +566,7 @@ int main()
569566
570567https://elloop.github.io/c++/2015-12-15/learning-using-stl-12-std-bind
571568
572- ### 8. cpp11的语法糖
569+ ## 8. cpp11的语法糖
573570
574571* for-each
575572 ```
@@ -608,7 +605,7 @@ https://elloop.github.io/c++/2015-12-15/learning-using-stl-12-std-bind
608605
609606 ```
610607
611- ### 9. cpp11的其他新特性
608+ ## 9. cpp11的其他新特性
612609
613610* 占位符和bind函数
614611
@@ -647,7 +644,7 @@ https://elloop.github.io/c++/2015-12-15/learning-using-stl-12-std-bind
647644
648645 c++11 线程库
649646
650- ### 10. 临时对象
647+ ## 10. 临时对象
651648c++ 里面的临时对象是不可见的 —— 他们不在堆上面创建,同时也没有名字,这样的对象就是临时对象。
652649
653650常见的有两种:
@@ -733,15 +730,15 @@ int main()
733730// g++ -fno-elide-constructors 好像是这个参数可以关闭
734731```
735732
736- ### 11. 作用域符 ::
733+ ## 11. 作用域符 ::
737734
7387351. global scope (全局作用域符),用法(::name)
739736
7407372. class scope (类作用域符),用法(class::name)
741738
7427393. namespace scope (命名空间作用域符),用法(namespace::name)
743740
744- ### 12. 宏
741+ ## 12. 宏
745742
746743宏,const,inline的区别在《effective c++》里面的第一部分就由提到。
747744但是,我的学习顺序是 先学习了c++,然后再看了c。我会更习惯于用const,inline,而不是宏。
@@ -768,7 +765,7 @@ forceinline字面意思上是强制内联,一般可能只是对代码体积不
768765著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
769766
770767
771- ### 13. 比较重要的零散的东西
768+ ## 13. 比较重要的零散的东西
772769
773770* 拷贝构造函数为什么需要是const
774771
@@ -789,7 +786,7 @@ class A
789786A(const A & other) { m = other.m; }
790787```
791788
792- * 一个对象的空间布局
789+ ## 一个对象的空间布局
793790
794- todo
791+ > [c++多态和虚函数](./c++的多态和虚函数.md)
795792
0 commit comments