| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> C++ Primer第三章 心得笔记 -> 正文阅读 |
|
[C++知识库]C++ Primer第三章 心得笔记 |
之前的一章我本末倒置了,我看了一个大佬的此书笔记整理得很详细 很得体。我也想按照他的这种方法 在我学习和敲代码的时候进行记录,但是我发现为了记笔记而记笔记 这种方法使我很累。违背了记录分享交流的初衷。所以也希望才开始的同学,能吸取我的教训 少走一点弯路。(我个人认为 不应该把所有的知识点罗列出来,应该在保持状态的同时 记录重要的点 问题,能解决的直接解决,不能解决的先记录 搁置一边,继续往下学习,不要浪费了进入的状态) 我觉得所谓心得笔记 应该是记录自己所遭遇的问题,和觉得重要的点,然后再把解决问题的思路和过程分享出来。而不是为了表里来记笔记 这样再未来的复习的时候,复习到的就没有那么好的复习效果。 在处理string 类对象时,如使用下标运算符等方法访问string类对象的字符时,应首先确认是否为空,其中一个方法为使用empty()函数确认string类对象是否为空,若为空则返回真,不为空则返回假,这里需要注意表达式取反。 string对象的几种初始化方式
for循环原来还可以分成多行来写(但是每一行的结尾必须以分号结尾),刚才看书的时候楞是没反应过来。
直接初始化 和 拷贝初始化 vector是模版(理解为 容器),而非类型。由vector生成的类型必须包含vector类型中元素的类型。如vector。 为什么会将string对象的下标类型设置为 string::size_type,因为我们得确保下表的范围不小于0。所以这里统一设置为这个string::size_type这个无符号类型,就可以确保下标不会小于0。一旦超出这个范围就会发生无法预知的后果。 vector容器的初始化
关于迭代器。有两种类型 begin和end的返回的具体类型由对象是否是常量而决定。
而另外两种函数cbegin、cend,无论对象是否为常量,它的返回类型都为const_iterator
谨记 但凡使用了迭代器的循环体,都不要向迭代器所属的容器添加元素。 从cin读入一组词并把他们存入一个vector对象,然后把所有词都改为大写形式。输出改变后的结果,每个词占一行。
关键概念:泛型编程 字符串字面值的类型实际上是由常量字符构成的数组,编译器在每个字符串的结尾处添加一个空字符‘\0’。因此,字符串值面值的实际长度比它的内容多1。 字符数组的特性
不能将数组的内容拷贝给其他数组作为其初始值,也不能用数组为其他数组赋值。 想要理解数组声明的含义,最好的办法是从数组的名字开始按照由内向外的顺序阅读。 在很多用到数组名字的地方,编译器都会自动地将其替换为一个指向数组首元素的指针。
指针也是迭代器 通过数组名字或者数组中首元素的地址都能获得只想首元素的指针。 比较两个数组
比较vector对象是否相等
分析以下代码段
ca应该是想表达c风格字符串 但是尾元素必须是空字符 ‘\0’。但是由于数组尾元素未设置为空字符,所以循环未按照逻辑(在循环尾元素处结束)。地址一直递增,知道解引用时遇到内存中的空字符。 多维数组
我们定义的数组名字为a,a是一个包含三个元素的数组,接着往右边发现这三个元素也有自己的维度,a的元素本身就是一个包含四个元素的数组。 constexpr 和 const的区别 在敲代码时,语义在常量就用constexpr。语义在只读就用const。 而检测constexpr函数是否产生编译时期值的方法很简单,就是利用std::array需要编译期常值才能编译通过的小技巧。这样的话,即可检测你所写的函数是否真的产生编译期常值了。
要使用范围for语句处理多维数组,除了最内层的循环外,其他所有的循环的控制变量都应该是引用类型。 指针和多维数组
|
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年3日历 | -2025/3/4 5:50:13- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |