在 c++ 中声明一个全局范围变量 const



在 C 或 C++ 中,是否可以声明具有全局范围的 const,但定义是在函数内部设置的?

做类似的事情怎么样(实时样本)

const int& MyConstValue(int x) {
    static const int myConstValue = x;
    return myConstValue;
}
int main() {
    std::cout << MyConstValue(5) << std::endl; // This is the 1st call and "wins"
    std::cout << MyConstValue(8) << std::endl;
    return 0;
}

输出为

5
5

至少对于 c++11,这甚至可以保证是线程安全的。

不,这是不可能的。声明必须与定义位于同一范围内。否则,它不是同一个名称。

相关内容

  • 没有找到相关文章

最新更新