【发布时间】:2015-06-24 07:09:21
【问题描述】:
我想定义一个 const 变量,它是类的一部分,例如:
// camera.h
class Camera{
public:
Camera(std::string file);
~Camera() {}
const size_t FRAME_HEIGHT;
const size_t FRAME_WIDTH;
private:
std::string file;
cv::VideoCapture cap;
Read();
};
_____________________________________
// camera.cpp
Camera::Camera(std::string file) : file("settings.yml") {
//...
read();
cap.open(0);
cap.set(CV_CAP_PROP_FRAME_HEIGHT, FRAME_HEIGHT);
cap.set(CV_CAP_PROP_FRAME_WIDTH, FRAME_WIDTH);
}
void Camera::read(){
// read something
}
但是,这不能使用初始化列表,因为我首先必须从设置文件中读取这些数据。
在调用read() 之后,我设置了我的const 变量FRAME_HEIGHT 和FRAME_WIDTH。
是否可以留下他们const,如果可以,我应该如何/在哪里这样做?
【问题讨论】:
-
只需检查 const 引用是否符合您的目的。
标签: c++ initialization constants