2016-06-21 10 views
-1

これに対する答えは他にもありますが、私はこれについて言葉を出すことはできません。私を他のリソースに誘導してください。C++でのPythonライクなリストの実装

私はPython-esqueリストをC++で実装しようとしています。私はありません平均私はvectorを作成したいと思います。私はそれがどのように行われるのか知っています私が探しているのは、次のような値を格納できるデータ構造を作成することです:

[1, "a", 3.5] 

Pythonのようなものです。私はまた、サイズが動的であることを望んでいます。

名前はありますか?これはすでにどこかで実装されていますか?

私はテンプレートのノードが含まれているリンクリストで実験してきたが、私はノード iが潜在的に 任意ののデータ型を持つことになります場合、ノード iを取得するアクセス関数を作成する方法を知りません。思考、提案?前もって感謝します。

+7

[std :: vector '](http://en.cppreference.com/)を検討している場合を除き、' std :: vector'ではなく 'std :: tuple'のように見えます。 cpp/utility/anyを指定してください)。 –

+0

@πάνταῥεῖ 'std :: vector 'は私が探しているものと似ていますが、これにはC++ 17ではない解決策がありますか? –

+3

'std :: vector ' – Fireho

答えて

1

Pythonのようです。私はまた、サイズが動的であることを望んでいます。

固定サイズの場合は、std::tuple<>で十分です。

名前はありますか?これはすでにどこかで実装されていますか?

「本の名前は」は、動的サイズ有するタイプの任意のシーケンスを記憶するために役立つ容器です。焦点は、任意のタイププレースホルダーです。

std::vector<std::any>のような動的サイズのコンテナをサポートする現在の標準では、残念ながらstd::anyタイプはありません。

あなたのツールチェーンで実験的なの実装にアクセスできない場合は、boost::anyタイプを使用することができます。

0

vectoranyとします。 anyタイプは、ブーストまたはC++で提供されます。