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)等,另一种用于类类型
对基本类型,唯一的参数传递机制就是传值,对于类类型,参数传递机制也被称为"传值".
但传递的是类对象的引用(指针),这就允许方法(函数)修改对象中的数据.
因此,有些人认为这种机制应该被称为 传引用机制.这并不符合大多数通常的传引用定义.
但在实现一些简单任务时,它的表现和传引用很类似.
哈哈,还有C++的数组类型的引用
谢谢分享。 学习了,非常感谢分享,我也要认真试试 谢谢分享 谢谢分享 学习了,讲的不错 wchar_t并不一定占2个字节,也有可能是4字节。 c++ primer多看几遍
页:
[1]
2