<分区>
我读了this similar question但是在学习 C++ 几周之后,我很好奇的一件事是:为什么在 C++ 中使用指针或引用?
甚至不是为什么要使用一个而不是另一个,而是为什么不使用原始值?
默认情况下,在 C++ 中,事物是按值传递的,如果始终传递原始值,是否会消除很多困惑和意外的副作用?
仅仅是为了让一个较小的值可以传递到堆栈上吗?
<分区>
我读了this similar question但是在学习 C++ 几周之后,我很好奇的一件事是:为什么在 C++ 中使用指针或引用?
甚至不是为什么要使用一个而不是另一个,而是为什么不使用原始值?
默认情况下,在 C++ 中,事物是按值传递的,如果始终传递原始值,是否会消除很多困惑和意外的副作用?
仅仅是为了让一个较小的值可以传递到堆栈上吗?
最佳答案
很多原因。一般来说,它的使用是因为性能。
复制对象会消耗内存、CPU 和时间。如果您将作为参数传递给使用它们的函数的每个对象复制,即使出于任何特定原因不必复制该对象,您正在制作性能不佳的应用程序。
传递每个不是原始类型的参数是有意义的,阅读struct
s和class
es,作为引用或指针,除非你有一个很好的理由不要这样做。
您可能还想将一个对象或变量传递给一个函数,然后该函数将在其原始位置对其进行修改。如果你传递这个变量的一个拷贝,函数将不会修改它,它只会修改它的一个临时的、可变的拷贝。您必须将此变量或对象作为引用或指针传递,以便函数可以修改它。
关于c++ - 在 C++ 中使用引用和指针有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31768272/