c++ - 在 C++ 中使用引用和指针有什么意义?

标签 c++ pointers reference

<分区>

我读了this similar question但是在学习 C++ 几周之后,我很好奇的一件事是:为什么在 C++ 中使用指针或引用?

甚至不是为什么要使用一个而不是另一个,而是为什么不使用原始值?

默认情况下,在 C++ 中,事物是按值传递的,如果始终传递原始值,是否会消除很多困惑和意外的副作用?

仅仅是为了让一个较小的值可以传递到堆栈上吗?

最佳答案

很多原因。一般来说,它的使用是因为性能。

复制对象会消耗内存、CPU 和时间。如果您将作为参数传递给使用它们的函数的每个对象复制,即使出于任何特定原因不必复制该对象,您正在制作性能不佳的应用程序。

传递每个不是原始类型的参数是有意义的,阅读structs和classes,作为引用或指针,除非你有一个很好的理由不要这样做。

您可能还想将一个对象或变量传递给一个函数,然后该函数将在其原始位置对其进行修改。如果你传递这个变量的一个拷贝,函数将不会修改它,它只会修改它的一个临时的、可变的拷贝。您必须将此变量或对象作为引用或指针传递,以便函数可以修改它。

关于c++ - 在 C++ 中使用引用和指针有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31768272/

相关文章:

c++ - 模板类中引用的类型检查不那么严格吗?

python - 在 python 中,函数返回的是浅拷贝还是深拷贝?

postgresql - postgres 获取数据,其中两列引用相同的父 ID

c++ - Qt 应用程序在随机时间后在 meego 上拉伸(stretch)

c++ - memset() 或值初始化以将结构清零?

c - 从 char 指针检索最后一组输入值

C程序使用指针数组对char数组进行排序

c# - 在 C# 中编码简单字符串

c++ - 如何阻止整数变量接受双输入(小数点前的数字)和任何其他值?

C 结构指针迭代