2016-08-02 15 views
0

C++では、プリプロセッサを使用して変数名の後にインデックス番号を置き換えて、その名前の後に '['の後にインデックス番号を続けて ' ] '?一例として、表記法をシミュレートするプリプロセッサ命令

は、私が書く場合:

int main(void) 
{ 
    int var[64]; 
    var0 = 0; 
    var1 = 1; 
    var2 = 2; // etc... 

    return 0; 
} 

翻訳:

int main(void) 
{ 
    int var[64]; 
    var[0] = 0; 
    var[1] = 1; 
    var[2] = 2; // etc... 

    return 0; 
} 
+3

正しい構文上有効なC++を最初から書くのではなく、なぜこれをしたいのですか? –

+0

したがって、複数の別々のオブジェクトを持ちたいが、配列のようにそれらを扱いたいのですか? – NathanOliver

+0

@JesperJuhl特定のプロジェクトで宣言された変数の代わりに配列を使いたいので混乱したくありません –

答えて

0

#defineは、あなたが得ることができる最も近いことになるだろう。

#define var0 var[0] 
#define var1 var[1] 
... 

しかし、あなたが上記を使用するつもりなら、あなたはとにかくすべてを入力していることから、あなたにもちょうど、最初の場所で手動で行うことに注意すべきです。

+1

将来の同僚たちを将来、このようなハッキングは、方言言語を作成し、コードをより堅く(驚く)読みやすくするため、積極的に落胆させるべきです。 –

0

いいえ、言語作成者に感謝します。マクロ定義内で構文解析(文字列解析)を行う方法はありません。 そのようなプログラムを読むのは本当に地獄でしょう。

+0

''関数 'にいくつかのパラメータを渡す場合は、明白でなければなりません。だから私は 'C#' '動的'が嫌いです。 –