g++ 4.7.2
你好,
我来自 C89,现在我正在使用 g++ 编译器做 c++。
通常我会做这样的事情:
#define ARR_SIZE 64
#define DEVICE "DEVICE_64"
在 C++ 中执行此操作的等价物是什么?
非常感谢您的任何建议,
g++ 4.7.2
你好,
我来自 C89,现在我正在使用 g++ 编译器做 c++。
通常我会做这样的事情:
#define ARR_SIZE 64
#define DEVICE "DEVICE_64"
在 C++ 中执行此操作的等价物是什么?
非常感谢您的任何建议,
#define
在 C++ 中有。因此,您可以编写相同的代码。但是对于像这样的常数,最好使用 const 关键字。
const int ARR_SIZE = 64;
const std::string DEVICE("DEVICE_64");
您可以使用const
# 代替define
const int ARR_SIZE = 64;
const char DEVICE[] = "DEVICE_64";
const
您可以使用关键字定义常量:
const int ARR_SIZE = 64;
const char DEVICE[] = "DEVICE_64";
最好使用匿名命名空间(仅限于当前文件):
namespace {
int const ARR_SIZE = 64;
/* ... */
}
除类型检查外,大多数 C 代码都无需更改即可使用 C++ 编译器进行编译。所以#define 在 C++ 中仍然有效。
您可能想查看其他 stackoverflow 条目,例如: