簡體   English   中英

如何獲取多維結構數組的長度?

[英]How to get the length of multidimensional struct arrays?

我有一個類在構造函數中獲得一個三維結構數組。 為了進一步計算,它還需要每個維度的長度。

一個簡短的例子:

MyStruct*** mySt;
mySt = new MyStruct**[5]
mySt[0] = new MyStruct*[4]
mySt[0][0] = new MyStruct[3]

如何在不明確地將它們發送到構造函數的情況下將這些值(5,4,3)保存到新類中?

你不能從使用new分配的普通C ++數組中獲取大小並存儲為指針:沒有語言結構可以讓你檢索數組大小。

如何處理這種情況有兩種選擇:

  • 在C ++中使用一個支持大小調整的容器 - 例如, std::vectorstd::vector ,或者
  • 在C(或C ++中,如果您更喜歡使用數組)構造一個單獨的3D大小數組,並將其與mySt數組一起傳遞。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM