有没有办法强制类的用户根据构造函数const
使用的数据构造对象?
例如,考虑一个围绕某个缓冲区的小型包装类,它可以是const
或非const
class Wrapper {
public:
Wrapper(const char*);
Wrapper(char*);
};
现在,如果用户提供 a const
,我可以强制他们声明对象const
在编译时。那是
// you have to do this if the input is const
const char* a;
// this will not compile
Wrapper w(a);
// but this will
const Wrapper(a);
有任何想法吗?