![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++ Primer
zzhaiwen
这个作者很懒,什么都没留下…
展开
-
C++ Primer第五版 第六章 函数
6.1实参是形参的初始值,形参在函数调用完后就被释放了,两者的生命周期不同。6.81 #ifndef CHAPTER6_H 2 #define CHAPTER6_H 3 int fact(int ); 4 5 6 #endif6.9并排打开三个文件:vim -o 6.8.h 6.8.cpp 6.8_1.cpp...原创 2020-08-08 16:54:04 · 116 阅读 · 0 评论 -
C++Primer 第五版 第五章 语句
5.1空语句:只含有一个单独的分号;如果在程序的某个地方,语法上需要一条语句但是逻辑上不需要,此时应该使用空语句。5.2块:复合语句,用花括号括起来的语句和声明的序列;如果在程序的某个地方,语法上需要一句语句,但是逻辑上需要多条语句,则应该用复合语句。5.3可读性降低了 1 #include <iostream> 2 using namespace std; 3 4 int main() 5 { 6 int val = 0, sum; 7原创 2020-08-07 21:14:28 · 144 阅读 · 0 评论 -
C++ Primer 第五版 第四章 表达式
4.11054.2(vec.begin())((vec.begin()))+14.7溢出:当计算的结果超出该类型所能表示的范围时就会产生溢出。4.8短路求值4.91.p是否是空指针2. 如果非空指针,那么所指向的对象是否是空字符串4.12如果i不是布尔值,则判断i是否不等于1;否则,判断i是否是真,也就是非零。4.134.17前置递增运算符把值加1后直接返回改变了的运算对象;后置递增运算符需要将原始存储下来以便于返回这个未修改的内容。4.18越界4.20b、e:原创 2020-08-07 15:08:46 · 123 阅读 · 0 评论 -
C++Primer Warning and Notes
谨记,但凡是使用了迭代器的循环体,都不要向迭代器所属的容器添加元素。范围for语句体内不应该改变其遍历序列的大小。如果容器为空,则begin和end返回的是同一个迭代器,都是尾后迭代器。和内置类型的变量一样,如果在函数内部定义了某种内置类型的数组,那么默认初始化会令数组含有未定义的值。要想理解数组声明的含义,最好的办法是从数组的名字开始按照由内向外的顺序阅读。大多数常见的安全问题都源于缓冲区溢出错误。当数组或其他类似数据结构的下标越界并试图访问非法内存区域时,就会产生此类错误。...原创 2020-08-05 21:40:21 · 155 阅读 · 0 评论 -
C++ Primer 第五版 第三章 字符串、向量和数组
C++ Primer 第五版 第三章 字符串、向量和数组3.3string对象会自动忽略开头的空白(即空格符、换行符、制表符等)并从第一个真正的字符开始读起,直到遇见下一处空白字符为止;getline不会忽略开头的空白,它将输入流中的内容读入到string对象中,直到遇到换行符为止,换行符也被读进来了,但是不会保存到string对象;3.4 #include <iostream> 2 #include <string> 3 using namespace std原创 2020-08-03 22:19:13 · 124 阅读 · 0 评论 -
使用了auto后仍然无法识别变量的类型?需要在编译时加入-std=c++11
使用了auto后仍然无法识别变量的类型?需要在编译时加入-std=c++11问题 在完成C++ Primer课后作业后,按要求运行程序后,出现如下错误:未定义变量e的类型;解决办法原来默认把auto当作声明自动声明周期的关键字(C++98标准),而不是自动类型的关键字;在C++11标准中auto可以在声明变量的时候根据变量初始值的类型自动为此变量选择匹配的类型因此如果要解决此问题需要在编译时添加-std=c++11的编译选项;运行g++ -std = c++11 2.34…cpp &原创 2020-07-23 21:50:56 · 1150 阅读 · 0 评论 -
C++Primer 第五版 第二章 变量和基本类型习题详解
C++Primer 第五版 第二章 变量和基本类型习题详解2.1不同的编译器和系统赋予这些类型的尺寸(内存空间)不同,其中short <= int <= long <= long long带符号类型可以表示正数、负数或0, 无符号类型则仅能表示大于等于0的值。单精度:6位有效数字;双精度:10位有效数字;2.2 都选用double双精度浮点类型,这是因为float通常精度不够而且双精度浮点数和单精度浮点数的计算代价相差无几。...原创 2020-07-23 16:42:15 · 320 阅读 · 0 评论 -
C++ Primer 第五版 第一章 开始 习题详解
C++ Primer 第五版 第一章 开始 习题详解有的过于简单,省略不写1.2 返回值-1,观察系统如何处理 1 #include <iostream> 2 using namespace std; 3 4 int main() 5 { 6 return -1; 7 }`linux系统和windows系统都是返回-1的反码,作为无符号数处理。linux: echo $? 来查看系统状态windows,编译器直接显示:1.8原创 2020-07-23 14:29:15 · 228 阅读 · 0 评论 -
C++ Primer课后习题详解
C++ Primer课后习题详解 马上看完B站上达内科技的培训视频(https://www.bilibili.com/video/BV1VJ411p782/),讲的很好,适合有C基础的入门C++;现在开始刷C++圣经:C++ Primer(第五版),我会根据自己的学习进度来公布每章的答案,开发环境是linux系统RHEL7,用的GNU编译器。第一章 开始 (1.1~1.6)添加链接描述...原创 2020-07-23 13:01:38 · 144 阅读 · 0 评论