質問: 4 for i in range(1,4): print(eval('a'+ str(i)),end+"") ``` と書けば ``` <<<234 ``` というように出力されますがC++でも同じようなことができませんでしょうか?? なおPythonがわからない方にも簡単に説明をすると簡単にうとeval('a'+ str(i))でi=1の際に変数a1を指定するというような感じになっています なお上記のプログラムと同じようなものをC++で再現したサンプルコードもいただければ幸いです。 ※上記の例だと配列でも同じような動作が行なえますがそこは無視してください。
回答: C#とかだと、リフレクションという方法もあるようですが、、C++ の標準にはないようですね。(実行プログラム内に変数名を持たないといけないし、、) 連想配列(std::map)は使えないでしょうか? 最近、使っていないので詳細は覚えてないのですが、キーと値のペアなので、キーを文字列とすれば、文字列から、値を取得できます。 検索したら、C++ 連想配列クラス std::map とはというページもありました。 参考までに。