5

g++ 4.7.2

こんにちは、

私は C89 出身で、現在 g++ コンパイラを使用して c++ を実行しています。

通常、私は次のようなことをします:

#define ARR_SIZE 64
#define DEVICE "DEVICE_64"

C ++でこれを行うのと同等のものは何ですか?

ご提案いただきありがとうございます。

4

5 に答える 5

11

#defineC++にはあります。したがって、同じコードを書くことができます。ただし、このような定数の場合は、const キーワードを使用することをお勧めします。

const int ARR_SIZE = 64;
const std::string DEVICE("DEVICE_64");
于 2012-12-15T11:09:57.837 に答える
4

const# の代わりに使用できますdefine

  const int ARR_SIZE = 64;
  const char DEVICE[] = "DEVICE_64";
于 2012-12-15T11:07:48.160 に答える
3

const次のキーワードを使用して定数を定義できます。

const int ARR_SIZE = 64;
const char DEVICE[] = "DEVICE_64";
于 2012-12-15T11:07:16.603 に答える
3

そのために匿名の名前空間を使用することをお勧めします (現在のファイルに制限されています)。

namespace {
    int const ARR_SIZE = 64;
    /* ... */
}
于 2012-12-15T11:09:00.223 に答える
1

#define でいいです!

型チェックを除いて、ほとんどの C コードは C++ コンパイラで変更せずにコンパイルされます。したがって、#define は C++ でも有効です。

次のような他の stackoverflow エントリを確認することをお勧めします。

#define、enum、または const を使用する必要がありますか?

C++ コンパイラで C コードをコンパイルすると、どのような問題が予想されますか?

于 2012-12-15T11:21:11.257 に答える