【问题标题】:Runtime defined global const variable in C++ [duplicate]运行时在 C++ 中定义的全局 const 变量 [重复]
【发布时间】:2017-02-23 22:43:48
【问题描述】:

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

    为它写一个初始化函数:

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

    【讨论】:

    • 我必须添加内联关键字(在 C++ 17 中添加)才能工作。仍然是我发现有用的唯一答案(解决了我的问题)谷歌搜索了一个小时关于这个问题,谢谢。
    猜你喜欢
    • 1970-01-01
    • 2014-06-16
    • 1970-01-01
    • 2013-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多