C++ Primer
根据C++Primer和嵌入式基础公开课讲解视频整理知识点+重点练习题
猫鱼Ω
这个作者很懒,什么都没留下…
展开
-
C++ Primer 8.1 IO类 知识点
流对象的rdstate成员返回一个iostate值,表示其状态(P279)用unitbuf可以直接刷新,使用方法如下。此时可以输出(缓冲区刷新),程序正常结束。此时用关联方式,也可以解决。此时不可以,无限循环。原创 2024-02-04 11:21:34 · 481 阅读 · 0 评论 -
C++ Primer 3.6 多维数组 知识点+练习题
本章内容需要根据代码详细理解!!!最先理解:多维数组就是数组的数组对于二维数组,常把第一个维度称为行,第二个维度称为列。可以以行列的方式看待二维数组,ia[3][4]若初始化后这样看。每一行就是一个元素为4的数组,即。原创 2023-12-25 17:00:16 · 910 阅读 · 0 评论 -
C++ Primer 3.5.4 C风格字符串 3.5.5 与旧代码接口 知识点总结 课后题重点
2.尽量使用vector和迭代器,不容易出错。原创 2023-12-25 09:48:02 · 496 阅读 · 0 评论 -
C++ Primer 4.1 基础 4.2 算数运算符 知识点+练习题
1.*pt(pt是之前定义的指针)2.求值顺序这里还有点不清晰:关于*(++iter)P124。原创 2023-12-26 20:52:25 · 357 阅读 · 1 评论 -
C++ Primer 6.5 特殊用途语言特性 6.6 函数匹配 知识点+练习题
除此之外,只要表达式的类型可转换成形参所需要的类型,则可以作为默认实参。将函数定义为内联函数,即加上inline,在编译时内联展开代替函数。使用命令行开启ndbug开关:不检查,assert不生效,节省开销。局部变量不能作为默认实参,函数结束就销毁,无法当作默认实参。寻找最佳作为匹配,若是两个都可以是最佳,编译器会报二义性错误。就是一个开关:决定assert是不是要检查出错误。在给定的作用域中一个形参只能被赋予一次默认实参。在编译时就能得到这个函数的返回值。预处理器由预编译器处理。原创 2024-01-21 23:34:47 · 614 阅读 · 0 评论 -
C++ Primer 6.4 函数重载 知识点+练习题
此三个函数构成函数重载,具体调用时根据传入实参进行匹配只有返回值不同,编译器会认为是重复声明,报错不构成重载。原创 2024-01-14 15:38:13 · 575 阅读 · 0 评论 -
C++ Primer 6.3 返回类型和return语句 知识点+练习题
用在返回值类型为void的函数中,可以不写return,因为此类函数会在最后一句隐式执行return;6.35 若改为val–,又有递减又有取值,c++未规定求值顺序,结果可能出错。数组的维度必须在函数名字之后,函数的形参列表也在后面且形参列表应先于数组维度。c++11新标准,形参后面加->真正的类型,本应是返回值的地方放一个auto。:函数完成后,它所占用的存储空间也被释放,若返回的是局部变量则会出现问题。若返回的是内置类型,则{}只包含一个值,且不可超过内置类型的空间,可以自己写return;原创 2024-01-13 16:16:53 · 1155 阅读 · 0 评论 -
C++ Primer 4.7 条件运算符 知识点+练习题
4.21 也可以用范围for。原创 2023-12-29 11:50:21 · 372 阅读 · 1 评论 -
C++ Primer 4.11 类型转换 知识点+练习题 第四章完结!!!
数组被转换为指针:多数情况数组名会被转换为数组首元素指针例外:decltype(P105),&(P102待更新),sizeof(P140),typeid(P732)指针转换类类型定义转换:由编译器自动执行,每次只能执行一种,若同时可能被拒绝(P263)原创 2024-01-01 19:35:29 · 428 阅读 · 0 评论 -
C++ Primer 6.1 函数基础
形参和函数体内部的变量称为局部变量,仅在函数内部可见,隐藏外部变量。不能是数组和函数(两者都不接受对拷),但可以是指针。也叫函数原型,把函数体去掉加分号 可省略形参名字。可以有.h .cpp .cpp三个文件一起编译。未初始化的自动对象赋未定义的值(随机数)局部静态对象:在函数体内用static。自动对象:只存在于块执行期间的对象。函数可声明多次,只可定义一次。原创 2024-01-08 20:23:52 · 494 阅读 · 1 评论 -
C++ Primer 6.2参数传递 知识点+练习题
若为2维数组,传入数组首元素地址(这个数组首元素也是数组,第一行),再传入个数(多少行)initializer_list:函数实参数量未知但全部实参类型相同,需添加同名头文件。initializer_list 对象中的元素永远是常量值,无法改变。以上需要传入string可能很大,不适合用值传递,拷贝耗空间。解决办法:1.initializer_list 标准库类型。底层const:指向的对象是一个常量,顶层const:只允许指向一个对象。不需要修改,最好用const。P57 有时间详细整理。原创 2024-01-11 20:40:04 · 734 阅读 · 1 评论 -
C++ Primer 4.8 位运算符 知识点+练习题
一个是取反,一个是逻辑非。原创 2023-12-29 18:44:45 · 347 阅读 · 1 评论 -
C++ Primer 5.6 try语句块和异常处理 知识点+练习题 第五章完结!
【代码】C++ Primer 5.6 try语句块和异常处理 知识点+练习题 第五章完结!原创 2024-01-05 22:22:16 · 422 阅读 · 1 评论 -
C++ Primer 5.1 简单语句 5.2 语句作用域 5.3 条件语句 详细解释switch内部变量定义:初始化报错,定义不报错 知识点+练习题
【代码】C++ Primer 5.1 简单语句 5.2 语句作用域 5.3 条件语句 详细解释switch内部变量定义:初始化报错,定义不报错。原创 2024-01-03 20:36:20 · 411 阅读 · 1 评论 -
C++ Primer 6.7函数指针 知识点+练习题 第六章完结!!!
把函数名作为一个值使用时,该函数自动转为指针。可用类型别名和decltype简化代码。自动转换为指针,需要我们显式加上*包含显式初始化的声明即定义。要注意decltype。原创 2024-01-22 16:33:00 · 713 阅读 · 0 评论 -
C++ Primer 5.5 迭代语句 5.6 跳转语句 知识点+练习题
多重定义,可以for(int i=0,j=0;;)但是i和 j一定要是同一个类型,不允许两个声明。原创 2024-01-04 16:15:30 · 462 阅读 · 1 评论 -
C++Primer 4.3 逻辑和关系运算符 4.4赋值运算符 4.5 递增递减运算符 4.6成员访问运算符 知识点+练习题
1.用&&保证不越界3.!vec.empty() 非空4.判断ij5.真值比较。原创 2023-12-27 11:44:39 · 327 阅读 · 1 评论 -
C++ Primer 4.9 sizeof 运算符 4.10 逗号运算符 知识点+练习题 (vector sizeof为什么是是固定大小的简单解释,不深入)
深入解释需要更了解stl源码,先留下疑问简单解释是vector由三个指针控制,这三个指针的大小就为其固定大小//指针占4位,应为32位//输出4,12(3*4)并不是5*4return 0;原创 2023-12-30 19:32:06 · 360 阅读 · 1 评论