前言
以下问题以Q&A形式记录,基本上都是笔者在初学一轮后,掌握不牢或者频繁忘记的点
Q&A的形式有助于学习过程中时刻关注自己的输入与输出关系,也适合做查漏补缺和复盘。
本文对读者可以用作自查,答案在后面,需要时自行对照。
--
问题集
Q1:结构化编程?C++的核心:OOP和泛型编程?
Q2:关于头文件命名,#include 合规,#include 语法没有错误,为什么却编译报错?
Q3:using namespace std; 中,using语法是属于编译指令吗?namespace的作用域的设计目的?
Q4:cout << 中的 “<<” 运算符叫什么名字?stream/流 是什么?控制符(manipulator)是什么?
Q5:const在C和C++的区别?const安全的底层原理?
Q6:在函数运行中定义变量合适吗?推荐做法是什么?a的值会随着循环每次变化吗?eg :
int main() {
while(1) {
int a = 0; print(a++); // 这里的 定义int a变量是合理的吗?
}
}
Q7:C风格中,原来需要预处理的 xxx.h 头文件在C++的新方式?
Q8:int在不同系统上可能有不同的位数表现(16bits/32bits),那么有办法设置int位宽吗?
Q9:以下两条语句的含义?
int a{5};
int b = {5};
Q10:unsigned类型有浮点数吗?
Q11:如果提前知道变量可能表示的int值大于16位,则推荐使用 long 而不是 int(大于20e则使用 long long),why?
Q12:伪代码 int a + bool b 的执行结果如何?其背后原理?进一步地,两个float数 f1+f2 内部运算是怎么样的?
Q13:语句 short i; cout << int(i); 的含义是什么?为什么要这样设计?这里的int()是一个函数吗?
Q14:关于auto关键字原初的设计意图?
Q15:char a[n] 和 string的本质区别?
Q16:关于连续使用cin,我们已知的问题是第一个cin随着回车会导致遗留\0到下一个cin被读到
标准的解决方式是什么?

Q17:输出结果?
cout << R"(Jim "King" Tutt uses "\n" instead of endl.)" <<'\n';
Q18:C++允许在声明结构变量时省略关键字struct?
Q19:bit field 是什么?(也叫位域,From 小盖伦er)
Q21:关于枚举型变量对象band,下面几个表达式的正确性?(思考:enum-整型之间的提升)

Q22:指针的危险?(与之关联:Q27)
Q23:指针解引用之前的金科玉律?(这个学过c都会,跟Q22一样看看即可)
Q24:动态数组?动态联编?如何创建?如何释放?
Q25:对于C++, int *psome = new int[x]; 这个语句中,sizeof(psome)代表什么?sizeof(*psome)又代表什么?
Q26:p是一个指针,那么 p = p+1 之后,p指向哪?(以C++11标准-巩固)
Q27:假设有一个字符串 str1,那么下面的表达式语法合理吗?
str1 [-1]
*(str1 - 1)
Q28:除了vector和 xx[ ],还有什么方式可以表示数组?
Q29:关于vector和array,vector的底层实现是什么?
Q30:二维数组在内存的空间地址是连续的么?
Q31:关于RAII,说说RAII的简单理念是什么?
Q32:比起 cin >> sr.arr 说说这里为什么用 cin.getline() ?

最低0.47元/天 解锁文章
2267

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



