【发布时间】:2011-03-06 02:14:49
【问题描述】:
我正在编写一个封装了控制硬件设备的传统 C API 的类。在一个简化的例子中,我可能有类似的东西:
class device
{
public:
void set_request(int data) { legacy_set_req(p_device, data); }
int get_response() const { return legacy_get_rsp(p_device); }
private:
device_handle_t *const p_device;
};
类本身没有按位状态;因此,我可以选择将set_request() 声明为const,编译器会对此感到满意。但是,从语义的角度来看,这是否是正确的方法,因为它会影响对象的 可观察 行为? (即封装的硬件设备确实有状态。)
【问题讨论】: