向量的正確處理
在 C 中,向量是用於儲存物件集合的強大容器。但是,嘗試直接在向量中儲存數組可能會導致錯誤,例如聲明浮點數組向量 (向量
此問題出現這種情況是因為陣列本質上不支援作為容器元素。容器要求其儲存的元素是可複製構造和可分配的,但陣列不能滿足這些要求。
解決方案:利用陣列類別範本
要克服此限制,建議使用陣列類別範本而不是原始陣列。 Boost、TR1 和 C 0x 等 C 函式庫提供了數組模板,可提供複製建構性和可分配性。
例如,使用 C 0x 提供的陣列類別範本:
std::vector<std::array<double, 4>>
或者,您可以利用 C TR1 或 Boost中包含的陣列範本庫:
std::vector<std::tr1::array<double, 4>> // or std::vector<boost::array<double, 4>>
自訂陣列類別(可選)
如果需要,您也可以建立自己的陣列類別來實現複製建構和賦值,確保與容器的兼容性用法。
以上是如何在 C 向量中正確儲存數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!