Log for
*新手討論群
想實作動態記憶體配置,但發現同class的動態記憶體(arr)只有在定義的時候能夠操作
嘗試在header裡面先定義好動態記憶體就能夠執行,但在建構子定義就沒辦法在其他member function調用
this->arr = new int[num]; 看看
這兩種寫法的差異在?
*arr 跟 this->arr
反正,
arr 你宣告的應該是個 pointer
*arr 是取 pointer 指向的值
arr 和 this->arr 是一樣的意思
通常 arr 都會隱式指代 this->arr
但假設有定義過 arr,就得用 this->arr 顯式存取
就例如 int something(int* arr) 和 int something { int* arr = new int(); } 就需要用 this->arr 取 arr 成員
簡言之,你這個 case arr = … 等於 `this->arr = …`,因為沒有在函數的其他地方定義過 arr
不太會實作class的 operator<<,有點頭痛😥