我學習C++和在讀book on it我碰到這個地方來了:在C++中通過引用傳遞參數是否必須是手動的?
struct Vector{
int size;
double* elem;
}
void vector_init(Vector& v, int s){
v.size = s;
v.elem = new double[s];
}
所以在這裏,將void vector_init(Vector v, int s)
,沒有參考操作,是錯誤的?我是否需要使用&
通過引用手動傳遞,同時傳遞對象,結構體,數組或其他任何參數?還有沒有其他方法可以做到這一點?比如說說void vector_init(Vector *v, int s)
?
任何幫助表示讚賞。
只是一個提示:不要在C++中使用指針。總是有一個合理的更好的選擇。 – 0x499602D2
@大衛並不總是;一個非擁有指針最好表示爲一個原始指針(當你不能使用引用時,比如需要賦值的類的成員(或者成員本身需要賦值)或者它可以爲空時) 。 –
在C++中可以完全避免指針嗎? – rgamber