|
|
1
10
我认为大多数学生的问题是C++中的两个问题。
类型修饰符应用于被声明的对象,而不是类型,这无助于避免混淆。也就是说,
同样无用的是“引用”这个词被重载了。首先,它意味着一个句法结构,如
所以在你的具体案例中,#1定义了一个
如何将对象传递给C++中的函数, here 是我的老回答。 |
|
|
2
4
从Scott Myers -更有效的C++ +GT;1
|
|
3
2
阅读S.Lippmann的C++总理或其他优秀的C++书籍。 至于传递参数,通常当复制成本较低时,我们会传递值。对于强制输出参数,我们使用引用,对于可选输出参数指针,对于复制成本高昂的输入参数,我们传递常量引用 |
|
|
4
1
这真是个复杂的话题。请在这里阅读: http://www.goingware.com/tips/parameters/ . 此外,Scott Meiers“有效C++”是一本关于此类事情的顶级书籍。 |
|
|
5
1
空隙剂量1(int x){ //代码 } 这个函数按值传递变量,不管函数内部发生什么,原始变量都不会改变 空隙剂量2(int*x){ //代码 } 在这里,您将一个指针类型的变量传递给integer。所以在访问数字时,应该使用x作为值,或者使用x作为地址 空隙剂量3(内部和x){ //代码 } 这里和第一个一样,但是不管函数内部发生什么,原始变量也会改变 积分y=100; 标准整数 //例2 int*y=100; 指向地址100的指针 //例3:史诗般的混乱! int*y=&z; 指向z地址的指针 |
|
|
6
1
我真的被他们搞糊涂了? 第一种是使用按值传递,函数的参数在调用后将保留其原始值。 后面两个使用按引用传递。本质上,它们是实现同一目标的两种方法。不保证参数在调用后保留其原始值。 大多数程序员喜欢通过常量引用传递大型对象,以提高代码的性能,并提供一个值不会更改的约束。这确保不会调用复制构造函数。 您的困惑可能是因为“&运算符有两种含义。你似乎熟悉的那个是“参考运算符”。它还用作“地址运算符”。在您给出的示例中,您采用的是z的地址。 一本很好的书,详细地介绍了这一切,是Andrew Koening的“加速C++”。 |
|
|
7
0
使用这些方法的最佳时机是当传递引用比传递整个对象更有效时。有时,某些数据结构操作使用引用(例如插入到链接列表中)也更快。理解指针的最好方法是阅读它们,然后编写程序来使用它们(并将它们与传递值对应的指针进行比较)。 而且,记录在案的是,指针的知识会让你在工作中更有价值。(经常,C++程序员是办公室的“神秘主义者”,知道桌子下面那些神奇的盒子是如何处理代码的/半讽刺的) |
|
|
Kris · 有没有办法获得可变结构字段的“引用” 4 年前 |
|
|
Jora Karyan · IF语句未按预期引发错误 4 年前 |
|
|
nedzad · 如何访问引用Firebase中其他对象的对象 8 年前 |
|
|
Empha · 从成员函数对对象所做的更改不会持续。范围/参考问题? 8 年前 |