C++ const静态成员数组初始化

标签 c++ arrays static constants

我有一个带有成员变量 bar 的 Foo 类,它是一个非常大的 dynamic_bitset 数组。为了内存起见,我想将变量 bar 设为静态,我也希望它是常量。 bar 的值存储在预定义的文件中。读取文件和初始化bar的代码应该放在哪里?

最佳答案

MadScienceDreams 的解决方案可能会奏效,但您可以更简单地做到这一点:

在标题中

class A
{
     static const vector<dynamic_bitset> s;
public:
     // ...
};

在实现文件中

vector<dynamic_bitset> LoadBitsets()
{
    //...
    return something;
}

const vector<dynamic_bitset> A::s(LoadBitsets());

应该自动使用移动构造函数。

关于C++ const静态成员数组初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16113551/

相关文章:

C++——静态变量

c++ - 类中的静态函数和数组

c++ - IMAGE_SECTION_HEADER的VirtualAddress和PointerToRawData的区别

c++ - 命名空间内的类定义

c++ - MFC 的 InitInstance 函数中创建的对象的生命周期有什么特别之处?

python - numpy中的多维累积和

javascript - 当对象键存在于javascript中另一个对象的数组中时重构对象数据

c++ - 如何使用 clang 从 TagDecl 获取结构成员

c - 在 VS Express 2012 中用 c 定义二维数组

tomcat - tomcat项目中大型静态文件放在哪里?