0
void VoidRef (int &ref){
ref++;
}
void VoidPtr (int *ptr){
(*ptr)++;
}
int test= 5;
VoidRef(test);
cout << test; // is 6
VoidPtr(&test);
cout << test; // is 7 !
爲什麼兩個void都做同樣的事情? 哪個void需要更多的資源?通過引用傳遞的int與int的傳遞地址之間的區別
是的,他們都做同樣的事情(雖然我會去第一個,因爲它涉及實施一個不太侵入語法)。 – 0x499602D2 2013-04-20 22:15:23
引用通常作爲引擎下的指針來實現,因此資源明智,它們應該是相同的。一般的參考文獻應該是優選的。 – 2013-04-20 22:15:48
使用引用的主要優點(IMO)使它不可能無意中傳遞空指針或其他無效指針。 – 2013-04-20 22:17:04