开发平台(Platform): (Ex: Win10, Linux, ...)
Win7
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
C++
问题(Question):
在读开放课程的资料结构的Stack章节时有些问题想厘清, 请各位大大指导 :)
void Stack<KeyType>::Add(const KeyType &x)
{
if(IsFull())
stack_full();
else
stack[++top]=x;
}
这是在做Stack push时的member function, 这里传入的参数为某个变量的reference
这边传入参数用pass by value或者pass by reference, 我想应该对这个stack出来
结果都是一样的.
我的疑问是 使用reference或pointer的好处是当我们想要改到传进参数的本体的时候,
可以直接把自己传进去, 但是当像这stack push的例子, 有没有改到传进来的参数
根本没有影响的情况下, 是否传入参数使用pass by value或reference都没关系?
还是说用reference有什么好处呢? (少copy这个动作?!)