const对象和const构造函数

Muh*_*mad 5 c++

有没有办法知道对象是const对象还是常规对象,例如考虑以下类

class String
{
   String(const char* str);
};
Run Code Online (Sandbox Code Playgroud)

如果用户String从那时创建一个const对象,没有理由复制传递的本机字符串,并且由于他不会对其进行任何操作,他唯一要做的就是获取字符串大小,字符串搜索和其他不会改变的函数字符串.

小智 8

复制有一个很好的理由 - 你不可能知道const char*的生命周期与String对象的生命周期相同.不,没有办法知道你正在构造一个const对象.