这是一个很好的旧C数组:
int a[10];
Run Code Online (Sandbox Code Playgroud)
这是一个很好的旧C数组,它是const:
const int b[10];
Run Code Online (Sandbox Code Playgroud)
在C++中,似乎有两种方法来定义std::arrays const:
std::array<const int, 10> c;
const std::array<int, 10> d;
Run Code Online (Sandbox Code Playgroud)
这两个定义是否相同?如果是这样,那个惯用的是什么?如果没有,有什么区别?
这可能是一个非常简单的问题,但我一直在寻找答案,但似乎无法解决这个问题.我正在尝试在类中初始化一个常量变量常量指针.这是头文件:
class Scheduler{
public:
Scheduler();
explicit Scheduler( unsigned long * );
private:
const unsigned long *const thresh;
};
Run Code Online (Sandbox Code Playgroud)
这是该类的构造函数
Scheduler::Scheduler( unsigned long * threshold ):
thresh(threshold)
{}
Run Code Online (Sandbox Code Playgroud)
当我尝试编译此代码时,我遇到了这个错误:
scheduler.cpp: In constructor ‘Scheduler::Scheduler()’:
scheduler.cpp:3: error: uninitialized member ‘Scheduler::thresh’ with ‘const’ type ‘const long unsigned int* const’
Run Code Online (Sandbox Code Playgroud)
在线讨论成员变量的构造函数中的常量成员变量的多个源指向使用初始化列表.我想我正在做我应该做的事,但显然它仍然没有好处.任何人都可以看到什么是错的?