2013-09-21 28 views
0

我班有這樣的成員:什麼是向量數組的默認值?

struct Field 
{ 
int Index; 
std::string Name; 
FieldType Type; 
int Length; 
}; 

private: 
std::vector<Field> setAsList[Fieldset_COUNT]; 
  • 什麼是在陣列中的每個項目的默認值?
  • 我應該爲數組中的每個項目創建新的vector嗎?
  • 如果此數組中的項目爲nullable
+0

我們需要關於什麼類型的對象或變量Field的更多信息。 –

+0

向量數組中的元素必須被初始化。與C#不同,C++沒有「可空」的原生概念。 – paulsm4

+0

1.一堆空向量。 2.你已經做到了。 3.不是你可能在想的。如果通過「可空」你的意思是「可以清空沒有內容」,那麼是,'setAsList [i] .clear();' – WhozCraig

回答

3

1)默認值是一個空向量。 2)不,你已經創建了矢量,你可能想調整它們的大小,但是你不需要創建它們。

3)沒有這樣的事情在C++中。

我看到你仍然在調整工作,沒有指針/引用。

+0

+1(爲什麼應該是顯而易見的原因)= P – WhozCraig

1
vector<int> testVector; 
vector<long> testVector(10); 
vector<float> testVector(5,1.0); 

第一句法聲明能夠存儲整數數據類型的空載體。

第二個聲明一個向量,其中包含10個長整數的存儲空間,每個整數都初始化爲該類型的默認值。

最後一行聲明一個帶有5個浮點數存儲的向量,並將它們的每個值初始化爲1.0。任何有效的類型都可以用於任何構造函數。