関数の入力にパラメータを指定すると、その特定の名前の変数を返すことは可能ですか?例えばC++の変数名に基づいて特定の変数を返しますか?
次のコードがあった場合、:
string returnsParameter(string parameter)
{
string a = "test";
string b = "test 2";
string c = "test 3";
return parameter;
}
をそして、あなたはreturnsParameter("a")
を実行し、「テスト」を返す方法のいくつかの並べ替えはありますか?私はポインタと参照変数を使ってみましたが、非定数参照を作ることはできません。
マップを使用せずにこれを行う方法はありますか?
'if(parameter ==" a ")return a;'繰り返し3回? C++コンパイラは通常、実行時に変数名に関する情報を格納しないので、 'if'sを自分で入力しないようにするには、いくつかのメタプログラミング(おそらくマクロを使用)に頼らざるを得ません。 – yeputons
いいえ、変数名はコンパイル時に「消えます」。あなたはマップと同様の何かをすることができます。 – Biffen
私はif文を使うことができましたが、実際には19個の変数が含まれています。そうする簡単な方法があるのだろうか? 私はマップを使いたかったのですが、このエクササイズの目的では(これはイントロレベルのC++クラスです)、配列、ベクトル、または特殊オブジェクトにデータを格納することはできません。 – ohitsanazn