红星照我去盗墓 发表于 2021-9-26 23:32

C++简单记录<1>

1.C++中,列表初始化只能用来初始化,而不能用来赋值.

2.C++总是首先构造一个"第一个"或最"基"的类,然后按顺序遍历继承树并构造每个
连续的派生类.

3.受保护的基类成员可以被派生类直接访问,而不能在外部访问.

4.如果使用初始化列表初始化一个固定的元素数组,编译器可以算出数组的长度.并且省略显式声明数组的长度.
int array{0,1,2,3,4};
int array[]{0,1,2,3,4};
这两种方式是等效的,后者不仅可以节省输入,还可以添加和删除元素,而不必更新数组的长度.

5.C++中的宽字符wchar_t 两个字节.输出需要std::wcout.

6.如果一个函数不应该改变一个参数的值,但又不想使用传值方式,那么最好的方式就是传引用传递.

7.引用传递的优点:
引用允许函数更改函数的值,这有时很有用,否则,可以使用const引用保证函数不会更改参数.
因为没有创建参数的副本,按引用传递很快,即使在使用大型的结构或者类中也是如此.
引用课用于从函数返回多个值.(通过输出参数).
引用必须初始化,所以不用担心空值.
因此,对于结构和类以及其他复制成本高的类型,使用引用传递而不是传递值.

另外,对于之前Java参数传递值的机制,之前有些没有弄清楚的地方.
严格来讲,Java中只有一种参数传递机制,即传值,但是实际上通常认为Java有两种参数传递方式.
一种用于基本类型(int,double,char)等,另一种用于类类型
对基本类型,唯一的参数传递机制就是传值,对于类类型,参数传递机制也被称为"传值".
但传递的是类对象的引用(指针),这就允许方法(函数)修改对象中的数据.
因此,有些人认为这种机制应该被称为 传引用机制.这并不符合大多数通常的传引用定义.
但在实现一些简单任务时,它的表现和传引用很类似.

hunteraa 发表于 2021-9-26 23:49

哈哈,还有C++的数组类型的引用

abs9668 发表于 2021-9-26 23:57


谢谢分享。

raycerlane 发表于 2021-9-27 01:00

学习了,非常感谢分享,我也要认真试试

shc1221 发表于 2021-9-27 05:48

谢谢分享

langwushuang 发表于 2021-9-27 07:18

谢谢分享

godmandxw 发表于 2021-9-27 07:44

学习了,讲的不错

yuleniwo 发表于 2021-9-27 08:30

wchar_t并不一定占2个字节,也有可能是4字节。

tlf 发表于 2021-9-27 09:00

lossweight 发表于 2021-9-27 09:19

c++ primer多看几遍
页: [1] 2
查看完整版本: C++简单记录<1>