2016-10-20 8 views
1

私はこの回答を1週間探しています。私は解決策を見出していない。私は文字列のベクトルからプリミティブの名前を宣言することが可能かどうかを知りたいです。 意味私は、文字列を受け入れるクラスを持っていて、それを文字列のベクトルにプッシュバックすると、フロートのプリミティブを各文字列の名前で宣言したいと考えています。文字列のベクトルからのプリミティブのリストC++

vector<string> myVec; 
Test::setCoordinate(string &myStr){ 
    myVec.push_back(myStr); 
} 

ここで、各名前をfloat型の変数のコンテナにしたいと思います。

+0

あなたは「プリミティブ」とはどういう意味ですか? – Galik

+1

動的変数の作成(それがあなたがしようとしているものなら)は、悪い、面倒な考えです。これまで必要だったことはまれです。 – Carcigenicate

+2

'std :: map 'はあなたが探しているものでしょうか? – Galik

答えて

4

いいえ、それはできません。 C++には、文字列などの実行時データから変数の名前を付けることができる動的コード生成機能はありません。

あなたが得ることができる最も近いようなものです:

std::map<std::string, float> values; 
values["f1"] = 0.3; 
values["f2"] = 0.6; 
+0

'0.3f'のように' f'をいつ除外するのでしょうか? –

+0

これは 'double '型のリテラルですが、なぜ警告するのでしょうか? –

+0

'double'が' float'に保存されると、ナローイングが起こる可能性はありますか? –

関連する問題