2014-01-27 70 views
-7

我想要一個指向特定類的對象的指針變量大小(可以增加)。 (Wire是類的名字,我是一個計數器,CW是一個指向資訊)可變大小的指針數組C++

Wire **w; 
... 
w[i]= cw; 

我如何分配內存的指針嗎? (假設cw指向現有的Wire。)

謝謝。

+4

什麼是你的問題? – taocp

+1

爲什麼不使用'std :: vector'? – Barmar

+0

你真的爲'w []'分配任何內存嗎? –

回答

3

考慮:

std::vector <std::unique_ptr <Wire>>

+0

應該包含哪些內容才能訪問std :: unique_ptr?我包括但仍然有麻煩。我正在使用Qt Creator 2.8.1(Qt 5.1.1) – user3237431

+0

@ user3237431:我不熟悉那個編譯器。 'unique_ptr'是在C++ 11中引入的。你的編譯器是否支持這個?如果不是,你可能不得不求助於使用原始指針而不是'unique_ptr'。 –

0

最好的方法是使用標準集裝箱的std ::向量。例如

std::vector<Wire *> v; 

或某些智能指針。

如果可以不使用載體,則方法如下

int size = SOME_VALUE; 

Wire **w = new Wire * [size]; 

w[0] = cw; 
+0

不是真的!避免第一個樣本的原始指針,第二個樣本。 –