開發平台(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這個動作?!)