hi~
最近學了C++的smart pointer
學習內容為:
C++ primer 5th, chapter 12
版上的一部影片以及一些文章
有些疑問想跟大家請教與討論!
(與C++交往不夠深,有蠢問題的話請見諒> <)
1.
既然我們有smart pointer可以用
那還會有什麼情況
是"一定必須"要使用built-in pointer的呢?
我指的是一般應用程式開發,而不是到語言很底層的地方
因為我想smart pointer這個物件裡應該也是使用built-in poiner對吧?
以現代C++使用者的角度來看
是否應盡量避免使用built-in pointer?
2.
對於unique_ptr的使用時機超級不了解!!
這到底應該什麼時候使用呀??
3.
chapter 12.2是在講dynamic array
有提到說,我們應該盡量使用library container
盡量不要dynamic allocate array
但他是說"大部份的應用"
有什麼情況是使用dynamic allocate array會比較好的嗎?
4.
使用shared_ptr來產生2維陣列的方式
我底下這樣做可以順利執行
但我不確定是不是 好/正確 的方法
比如說我要產生一個3*4的2維陣列:
auto p = make_shared<vector<vector<int>>>();
p->resize(3);
for(auto &x : *p)
x.resize(4);
問題很多> <
謝謝大家!!