看书提问题代表你在思考,而不是被动的接受,带着问题学习比死记硬背更有效,亲测有效!同时提出问题的质量代表着你思考的质量,如果你表达不清楚,说明没有思考清楚,多年的经验小结。不过不要担心,老铁,先从提问题开始吧
结合网易公开课《深入理解计算机系统:从程序员视角》CSAPP学习,网址,https://open.163.com/newview/movie/free?pid=PEV17ARPL&mid=KEV17ASN2
2021.7.17
1、既然在构造函数中可以对成员进行初始化,那成员初始化列表不是多余的吗?为什么这样做呢?
答:关键点是区分概念类成员初始化及赋值,具体见P587
2、什么是左值和右值,什么是从左值到右值的转换?引用类型的初始值该用左值还是右值?
3、写时复制技术?
4、static、const和volatile变量分别用在什么场景下,有什么好处?举例说明
5、引用类型和指针类型的区别,分别在什么场景下使用?
6、sizeof()是计算的啥,数组、指针、一般变量、对象分别计算出来的值是多少,举例说明
7、局部域中的变量为什么会隐藏域外的同名变量?
8、符号常量与inline函数有什么共同点?都可以放在头文件中定义?
9、既然C++类已经提供了隐式的按成员初始化(即可以通过一个类对象给另一个类对象初始化),为什么还要有显示的拷贝构造函数?P594
10、你对面向对象编程OOP的理解?
11、C++的虚拟调用机制是指的什么,为什么需要有这种机制?
2021.7.23
12、程序堆栈是在内存的哪部分,缓存区还是主内存区,还是寄存器中
13、字节对齐是什么,举例说明
与硬件内存寻址有关,参考https://yangwang.hk/?p=773
14、为什么要有缓存?缓存IO与非缓存IO区别在哪里?标准输入输出是行缓存?什么是系统调用,为什么比函数效率低?
2021.8.2
15、怎么理解用户态和内核态(用户空间和系统空间),【其实早在2014年就看过,当时都没有思考到这个概念,一带而过,可见学习需要去思考,去提问,这样才能有所进步,才能真正理解】,参考https://zhuanlan.zhihu.com/p/69554144;
16、存储器层次结构是怎么样的?volatile关键字是有什么作用?
17、TCP建立连接为什么需要3次握手?2次不行吗?为什么断开TCP连接需要4次挥手?3次不能断开吗?
18、new和malloc的区别;
19、-1在内存中的表示?计算机中负数为什么用补码表示?
20、数组与指针的区别;
21、虚函数的实现细节;
22、TCP连接主动关闭与被动关闭的区别;
23、静态成员函数有没有this指针,为什么?只能访问静态数据成员,为什么?见P629,操作符new和delete的重载
2021.8.17
24、为什么容器需要搞这么多迭代器,有什么好处吗?
博主分享了在阅读C++ Primer第三版过程中遇到的问题及其答案,涉及构造函数、成员初始化、左值与右值、引用与指针、内存管理、面向对象、虚拟调用机制等核心概念,并结合《深入理解计算机系统》进行学习,讨论了程序堆栈、字节对齐、缓存、TCP连接、存储器层次结构等计算机系统知识。
1118

被折叠的 条评论
为什么被折叠?



