Вы делаете свой член const
.И вы делаете инициализацию в конструкторе.
class String
{
const char* const _buff; //both the contents and the pointer are const
public:
String (const char* buff);
};
String::String(const char* buff) : _buff(buff)
{
}
РЕДАКТИРОВАТЬ: Как указал @ildjarn, будьте особенно внимательны при использовании неизменяемых объектов.Вы должны быть уверены, что это то, что вам действительно нужно.Вы не сможете использовать их в стандартных контейнерах или выполнять логическое копирование.