- 1
const size_t& len() const {return _c_str?_len:*(size_t*)0;} //нах это нужно??
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+63.8
const size_t& len() const {return _c_str?_len:*(size_t*)0;} //нах это нужно??
P.S. А Я САМ НЕ ЗНАЮ ГДЕ ЗДЕСЬ СИ-КРЕСТ-КРЕСТ!!!!1
А автор комментария вместо того, чтобы вставлять комментарий, лучше бы взял и исправил.
P.S. кресты в ссылках, друк.
{
private:
size_t _len;
char* _c_str;
public:
//...
const size_t& len() const {return _c_str?_len:*(size_t*)0;}
const char* c_str() const {return _c_str;}
Короче, длина не определена, если строки нет, вот зачем это надо (тут подразумевалось, что пользователь сначала проверит строку на нуль, а только потом будет получать длину, но на всякий случай сделана защита от дурака)
size_t len() const
{
assert(_c_str);
return _c_str ? _len : 0;
}