[問題] shared_ptr 指向 vector
開發平台(Platform): (Ex: Win10, Linux, ...)
Linux
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
g++
https://gist.github.com/anonymous/cae972cc0cb32f1055a145b27bfd11b7
我new 出一個二維vector 讓 shared_ptr 指標接住
shared_ptr<std::vector<std::vector<double> > > p2 = NULL;
p2 = shared_ptr<std::vector<std::vector<double> > >(new
std::vector<std::vector<double> >(M, std::vector<double>(N, K)));
那我想傳遞某一列Row 到另外一個函數做處裡
void arraycopy(std::shared_ptr<std::vector<double> > row)
{
}
我測試下面用法都不可以!
//arraycopy((*p2)[0]);
//arraycopy((p2)[0]);
//arraycopy((p2)->at(0));
想請問一下要怎麼改寫才符合我需求?
我需求是
1. 宣告出一個二維的vector 包在 shared_ptr 裡面
2. 有個 arraycopy函數將上面的包在shared_ptr 二維 vector 傳入
某一列到arraycopy函數做處理...但是必須是傳address 進來改在同一塊記憶體
不是deep copy...
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.181.254.11
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1506887728.A.492.html
→
10/02 04:48,
6年前
, 1F
10/02 04:48, 1F
※ 編輯: shihyu (175.181.254.11), 10/02/2017 05:10:19
→
10/02 05:15,
6年前
, 2F
10/02 05:15, 2F
→
10/02 05:16,
6年前
, 3F
10/02 05:16, 3F
→
10/02 05:16,
6年前
, 4F
10/02 05:16, 4F
→
10/02 05:27,
6年前
, 5F
10/02 05:27, 5F
推
10/02 07:52,
6年前
, 6F
10/02 07:52, 6F
→
10/02 07:53,
6年前
, 7F
10/02 07:53, 7F
→
10/02 07:53,
6年前
, 8F
10/02 07:53, 8F
→
10/02 07:55,
6年前
, 9F
10/02 07:55, 9F
→
10/02 07:56,
6年前
, 10F
10/02 07:56, 10F
→
10/02 07:59,
6年前
, 11F
10/02 07:59, 11F
→
10/02 08:00,
6年前
, 12F
10/02 08:00, 12F
→
10/02 08:00,
6年前
, 13F
10/02 08:00, 13F
→
10/02 08:34,
6年前
, 14F
10/02 08:34, 14F
→
10/02 08:34,
6年前
, 15F
10/02 08:34, 15F
→
10/02 23:26,
6年前
, 16F
10/02 23:26, 16F