[問題] C++ primer 的問題?
看板C_and_CPP (C/C++)作者softwind (software everywhere)時間16年前 (2009/06/07 23:34)推噓0(0推 0噓 0→)留言0則, 0人參與討論串1/2 (看更多)
sorry~ 小弟最近在看 C++ primer
有些問題想要問一下 版友... 當然 如果有答案的話
那 我想 我直接看 就可以了
不過 我還是把問題和我的答案列出來 看看有沒有問題?
練習 12.31, pair的成員都是 public
但是 pair<int, int> p2={0,42}; 不能編譯是因為?
A: 因為pair有提供建構式 不能直接用 array 初始化變數.
練習13.2 下列兩個編譯可以推斷出vector定義式的什麼資訊?
vector<int> v1(42); //42個元素 每個都是0
vector<int> v2=v1; //錯誤,
A:這表示 template vector 不提供 copy constructor.(我的答案)
不是 int沒有提供 assignment 或是 copy.
練習 13.3 假設 class Point有一個public的 copy ctor, 下列有哪些地方應用?
A:
Point global;
Point foo_bar( Point arg){ //arg: copy ctor, 有
Point local=arg;// assignment, 無
Point *heap=new Point( global ); //global:copy 有, heap:assignment
*heap=local;//assignment 無
Point pa[4]={local, *heap}; //初始化pa[4], 前兩個 copy, 後兩個default?
return *heap;//copy ctor 有
}
練習 13.5 下列class 哪些 可能要有 copy constructor,
1. Point3w 內含有4個 浮點數成員.
A: object 內部的 member variable 應該不用
2. Matrix 含有一個array 在建構式中動態配置, 解構式中刪除
A: 有資源配置, 需要copy ctor
3. Playroll 每個物件都有一個唯一的識別碼
A: 不確定, 不過 我想唯一性 應該算是一種資源, so 需要?
4. Word 內有一個string和一個vector 後者含有行列對(line-column pair)
A: ??? 不懂"行列對" 是指哪個東西
不好意思 問號特多的部份 有版友知道 答案嗎?
Thx~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.166.122.247
※ 編輯: softwind 來自: 118.166.122.247 (06/07 23:35)
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章