2016-06-21 85 views
-1

對於這個問題的答案几乎可以肯定存在於其他地方我只是無法想出這個詞,請隨時引導我到其他資源。在C++中實現一個類似Python的列表

我期待在C++中實現一個Python-esque列表。我不要的意思是我想創建一個vector。我知道這是如何完成的。我正在做的是創建一個數據結構,可以存儲的值如:

[1, "a", 3.5] 

像在Python中一樣。我也希望它的大小是動態的。

有沒有這個名字?這是否已經在某處實施?

我一直在嘗試包含模板節點鏈表,但我不知道怎麼寫訪問功能將得到節點i當節點i將有可能影響任何數據類型。想法,建議?先謝謝你。

+7

實際上看起來像是一個'std :: tuple',而不是'std :: vector',除非你正在考慮一個['std :: vector '](http://en.cppreference.com/瓦特/ CPP /效用/任何)。 –

+0

@πάνταῥεῖ'std :: vector '就像我在找什麼,但有沒有解決方案,這不是C + + 17? –

+3

'std :: vector ' – Fireho

回答

1

像在Python中一樣。我也希望它的大小是動態的。

那麼,對於固定大小的一個std::tuple<>應該爲你服務。

有沒有這個名字?這是否已經在某處實施?

「名稱爲這個」是,一個容器服務來存儲的類型的任意序列具有動態大小。雖然重點是任意類型佔位符。

不幸的是,在當前標準中沒有std::any類型,它支持動態大小的容器,如std::vector<std::any>

如果您無法使用工具鏈訪問實驗實施,則可以使用boost::any類型。

0

您想要vectoranyany類型進入boost或C++ 17。