[問題] Stack using Array to implement
開發平台(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這個動作?!)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.163.130.65
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1507729017.A.62D.html
推
10/11 22:18,
6年前
, 1F
10/11 22:18, 1F
→
10/11 22:19,
6年前
, 2F
10/11 22:19, 2F
→
10/11 22:31,
6年前
, 3F
10/11 22:31, 3F
→
10/11 22:32,
6年前
, 4F
10/11 22:32, 4F
→
10/11 22:33,
6年前
, 5F
10/11 22:33, 5F
推
10/11 23:04,
6年前
, 6F
10/11 23:04, 6F
→
10/11 23:07,
6年前
, 7F
10/11 23:07, 7F
→
10/13 00:07,
6年前
, 8F
10/13 00:07, 8F
推
10/13 14:49,
6年前
, 9F
10/13 14:49, 9F
→
10/13 21:09,
6年前
, 10F
10/13 21:09, 10F
推
10/13 21:51,
6年前
, 11F
10/13 21:51, 11F
推
10/13 22:03,
6年前
, 12F
10/13 22:03, 12F
→
10/13 22:56,
6年前
, 13F
10/13 22:56, 13F
→
10/13 23:00,
6年前
, 14F
10/13 23:00, 14F
推
10/14 08:36,
6年前
, 15F
10/14 08:36, 15F