好友
阅读权限10
听众
最后登录1970-1-1
|
1.C++中,列表初始化只能用来初始化,而不能用来赋值.
2.C++总是首先构造一个"第一个"或最"基"的类,然后按顺序遍历继承树并构造每个
连续的派生类.
3.受保护的基类成员可以被派生类直接访问,而不能在外部访问.
4.如果使用初始化列表初始化一个固定的元素数组,编译器可以算出数组的长度.并且省略显式声明数组的长度.
int array[5]{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)等,另一种用于类类型
对基本类型,唯一的参数传递机制就是传值,对于类类型,参数传递机制也被称为"传值".
但传递的是类对象的引用(指针),这就允许方法(函数)修改对象中的数据.
因此,有些人认为这种机制应该被称为 传引用机制.这并不符合大多数通常的传引用定义.
但在实现一些简单任务时,它的表现和传引用很类似.
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|