c++ - C++ 中运行时定义的全局 const 变量

标签 c++ global-variables constants hpc scientific-computing

我想声明一个在运行时定义的全局 const 变量。也就是说,我想提示用户输入一个值并将其分配给一个我不想在程序执行过程中被修改的 const 全局变量。

如果我想要 main 中的 const 变量我可以做

int tmp;
cin >> tmp;
const int var = tmp;

但是如果我想使用全局变量我不能,因为我必须在 main 之外声明它。就上下文而言,这是为了高性能科学计算。我想定义一组不应更改且需要从任何地方访问的物理常量。有什么办法可以做到这一点吗?

最佳答案

为其编写一个初始化函数:

int init() {
    int tmp;
    cin >> tmp;
    return tmp;
}
const int var = init();

关于c++ - C++ 中运行时定义的全局 const 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40044200/

相关文章:

python - 类型错误 : Can't convert 'int' object to str implicitly(python)

c++ - 如何缩短声明命名常量的时间?

c++ - 我如何强制 boost::asio 优先完成 async_write 调用而不是运行其他处理程序?

windows - 在 Win32 C API 中执行 `EnumWindows` 查找窗口时如何避免使用全局变量?

javascript - 将变量从脚本传递到模式中

Scala:编译时间常数

c++ - 如何在 Python 中处理来自 C++ 的 PyObject*

c - C 中全局结构变量的最佳使用

c - 在结构上使用 strncpy

C++ const 关键字 - 随意使用?