C/C++編程筆記:如何在C++中的類內(nèi)創(chuàng)建動態(tài)2D數(shù)組?

假設(shè)我們要為Graph創(chuàng)建一個類。該類存儲圖的鄰接矩陣表示。

因此,我們的類結(jié)構(gòu)如下所示。
class Graph? {
? int V;?
? int adj[V][V];??
};?
?int main() {?
}
即使我們將V設(shè)為靜態(tài),也會出現(xiàn)錯誤“數(shù)組邊界不是整數(shù)常量”
C ++不允許在大小不恒定的類中創(chuàng)建堆棧分配的數(shù)組。因此,我們需要動態(tài)分配內(nèi)存。下面是一個簡單的程序,用于顯示如何使用帶有鄰接矩陣表示形式的Graph類在C ++類中動態(tài)分配2D數(shù)組。


輸出:
0 1 1 0
0 0 1 0?
1 0 0 1?
0 0 0 1
關(guān)于調(diào)用memset()的注釋:
memset()單獨(dú)用于單獨(dú)的行。我們不能用一個調(diào)用替換這些調(diào)用,因?yàn)樾斜环峙湓诓煌牡刂?,并且像下面這樣進(jìn)行memset調(diào)用將是災(zāi)難性的。
memset(adj,false,V * V * sizeof(bool));
錯誤!(矩陣在不同地址處的行)
本期的知識分享就到這里了,希望對大家有幫助~
另外如果你想更好的提升你的編程能力,學(xué)好C語言C++編程!彎道超車,快人一步!筆者這里或許可以幫到你~

UP在主頁上傳了一些學(xué)習(xí)C/C++編程的視頻教程,有興趣或者正在學(xué)習(xí)的小伙伴一定要去看一看哦!會對你有幫助的~
分享(源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門教程)
歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長比自己琢磨更快哦!
編程學(xué)習(xí)書籍分享:

編程學(xué)習(xí)視頻分享:
