PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
C_and_CPP
[問題] 動態宣告2維陣列的方式(看過精華區3-3-3)
作者:
wtchen
(沒有存在感的人)
2015-06-09 20:42:17
問題(Question):
精華區3-3-3有提供幾種動態宣告多維陣列的方式
我自己google找到用malloc宣告的方式:
http://www.geeksforgeeks.org/dynamically-allocate-2d-array-c/
不知道這樣用malloc能不能符合連續儲存的條件?
(連續儲存好像比較快?)
作者:
Feis
(永遠睡不著 @@)
2015-06-09 20:56:00
C++ 可以嗎?
#1IvruEtP
作者:
wtchen
(沒有存在感的人)
2015-06-09 21:09:00
看來精華區該多收些Feis的好文...
作者:
Feis
(永遠睡不著 @@)
2015-06-09 21:11:00
我回完才發現 3-3-3 就說一樣的事 @@
作者:
wtchen
(沒有存在感的人)
2015-06-09 22:54:00
用malloc宣告跟3-3-3效率會有差嗎?
作者:
Feis
(永遠睡不著 @@)
2015-06-09 23:02:00
為什麼你覺得有差?
作者:
wtchen
(沒有存在感的人)
2015-06-09 23:05:00
如果用gcc compile的話只支援malloc我看起來是沒差的
作者:
bibo9901
(function(){})()
2015-06-10 01:12:00
你也可以一次malloc出所有需要的記憶體例如想要 int[n][m], 那總共需要 n*m*sizeof(int)+ n * sizeof(int*) 這麼多空間, 然後把前面 n 個 int*指到正確位址上假設 int **arr 是你要的陣列, char * p = malloc(...)那麼arr[i] = p + n*sizeof(int*) + i*m*sizeof(int)這樣既是你要的連續儲存,又只需要一次 free啊XD 就是你網址裡的第4種方法
作者:
arthur104
(arthur)
2015-06-10 01:22:00
推樓上,pointer用的好,沒煩惱
作者:
bibo9901
(function(){})()
2015-06-10 01:32:00
另外 new 和 malloc 最明顯的差異是 new 會自動呼叫trivial constructor, 理論上是會比 malloc 來得慢
作者:
LPH66
(-6.2598534e+18f)
2015-06-10 02:04:00
這裡是 new 陣列應該沒有差...
作者:
wtchen
(沒有存在感的人)
2015-06-10 22:01:00
因為之後想玩底層,所以希望能多了解最有效率的方法精華區3-3-3用的new不合我需求,所以才想用malloc感謝各位解說
作者:
Killercat
(殺人貓™)
2015-06-12 16:26:00
你要快就是用placement new做memory pool在C++裡面糾結new或者malloc講真的沒啥意義....
作者:
BlazarArc
(Midnight Sun)
2015-06-24 23:46:00
同意樓上
繼續閱讀
[問題] 拆解char array[] 再組合
Qoofate
[問題] strcmp (字串比對)實作
wtchen
Re: [問題] C的推薦書 (原標題有點不適合)
soheadsome
Re: [問題] C的推薦書 (原標題有點不適合)
Push5F
[問題] internal/external iterator 的例子?
wtchen
[問題] 多了printf 之後 結果不一樣
chaioo
Re: [問題] c++問題
johnhmj
Re: [問題] 不均等隨機的設定方式?
damody
Re: [問題] c++問題
kosl
[問題] 不均等隨機的設定方式?
ggg1356114
Links
booklink
Contact Us: admin [ a t ] ucptt.com