13.7 — 非静态成员初始化
当编写一个有多个构造函数(大多数类都是如此)的类时,不得不在每个构造函数中为所有成员指定默认值,这会导致代码冗余。如果您更新某个成员的默认值,您需要修改每个构造函数。可以为普通类成员…
当编写一个有多个构造函数(大多数类都是如此)的类时,不得不在每个构造函数中为所有成员指定默认值,这会导致代码冗余。如果您更新某个成员的默认值,您需要修改每个构造函数。可以为普通类成员…
又一章结束了!只剩下这个烦人的测验了……函数参数可以通过值、引用或地址传递。对于基本数据类型和枚举器,使用按值传递。对于结构体、类,或者当您需要函数修改参数时,使用按引用传递。使用按…
在本章前面的课程中,我们介绍了容器、数组和 std::vector。我们还讨论了如何访问数组元素、获取数组长度以及如何遍历数组等主题。虽然我们在示例中使用了 std::vector,但我们讨论的概念是…
章节回顾 固定大小数组(或固定长度数组)要求在实例化时知道数组的长度,并且该长度之后无法更改。C 风格数组和 std::array 都是固定大小数组。动态数组可以在运行时调整大小。std::vector 是一个动态数组。长度…
在上一课中,我们介绍了容器和数组。在本课中,我们将介绍本章其余部分将重点关注的数组类型:std::vector。我们还将解决上一课中介绍的可伸缩性挑战的一部分。std::vector 简介 std::vector 是一个…
在课中,我们介绍了容器和数组。总结如下:容器为未命名对象(称为元素)的集合提供存储。数组在内存中连续分配元素,并通过下标提供对任何元素的快速直接访问。C++ 有三种常用的不同数组类型:std::vector、std::array、…
本课程是可选的,适用于希望学习更多 C++ 知识的高级读者。未来的课程不会以此课程为基础。指向指针的指针正如您所料:一个指针,它保存着另一个指针的地址。指向指针的指针 一个指向 int 的普通指针是…
在上一节关于位运算符()的课程中,我们讨论了各种位运算符如何将逻辑运算符应用于操作数中的每个位。既然我们了解了它们的功能,现在让我们看看它们是如何更常用的。为了操作单个位(例如,打开它们…
在上一课()中,我们讨论了如何创建和初始化 C 风格字符串对象: #include <iostream> int main() { char name[]{ “Alex” }; // C 风格字符串 std::cout << name << ‘\n’; return 0; } C++ 支持两种不同的方式创建 C 风格字符串符号常量: #include <iostream> int main() …