假設我們要為Graph創建一個類,該類存盤圖的鄰接矩陣表示,
因此,我們的類結構如下所示,
class Graph {
int V;
int adj[V][V];
};
int main() {
}
即使我們將V設為靜態,也會出現錯誤“陣列邊界不是整數常量”
C ++不允許在大小不恒定的類中創建堆疊分配的陣列,因此,我們需要動態分配記憶體,下面是一個簡單的程式,用于顯示如何使用帶有鄰接矩陣表示形式的Graph類在C ++類中動態分配2D陣列,
輸出:
0 1 1 0
0 0 1 0
1 0 0 1
0 0 0 1
關于呼叫memset()的注釋:
memset()單獨用于單獨的行,我們不能用一個呼叫替換這些呼叫,因為行被分配在不同的地址,并且像下面這樣進行memset呼叫將是災難性的,
memset(adj,false,V * V * sizeof(bool));
錯誤!(矩陣在不同地址處的行)
本期的知識分享就到這里了,希望對大家有幫助~
另外如果你想更好的提升你的編程能力,學好C語言C++編程!彎道超車,快人一步!筆者這里或許可以幫到你~
C語言C++編程學習交流圈子,QQ群464501141【點擊進入】微信公眾號:C語言編程學習基地
分享(原始碼、專案實戰視頻、專案筆記,基礎入門教程)
歡迎轉行和學習編程的伙伴,利用更多的資料學習成長比自己琢磨更快哦!
編程學習書籍分享:

編程學習視頻分享:

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/257990.html
標籤:其他
上一篇:python try例外處理
