- 1
- 2
- 3
//! Set this value as an empty object.
/*! \post IsObject() == true */
GenericValue& SetObject() { this->~GenericValue(); new (this) GenericValue(kObjectType); return *this; }
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
//! Set this value as an empty object.
/*! \post IsObject() == true */
GenericValue& SetObject() { this->~GenericValue(); new (this) GenericValue(kObjectType); return *this; }
Парсер json'ок писали сверхлюди
https://github.com/Tencent/rapidjson/blob/master/include/rapidjson/document.h#L1188
PolinaAksenova # 0
https://en.cppreference.com/w/cpp/language/lifetime , раздел "Storage reuse".
inkanusinho # 0 ⇈
PolinaAksenova # 0 ⇈
Вся эта либа ориентированя ня максимальную производительнясть, так что ничего удивительного, что они используют такую низроуровнявую функционяльность.
inkanusinho # 0 ⇈
PolinaAksenova # 0 ⇈
inkanusinho # 0 ⇈
PolinaAksenova # 0 ⇈
inkanusinho # 0 ⇈
PolinaAksenova # 0 ⇈
DypHuu_niBEHb # 0 ⇈
Так работают некоторые контейнеры, например
Так что всё вроде логично
warzes # 0 ⇈
inkanusinho # 0 ⇈
PolinaAksenova # 0 ⇈
inkanusinho # 0 ⇈
Зачем восклицательный знак?
PolinaAksenova # 0 ⇈
gologub # 0 ⇈
а ниже типа summary
inkanusinho # 0 ⇈
"this->" - это чтобы не перепутать с унарным оператором "~"?
PolinaAksenova # 0 ⇈
bormand # 0 ⇈
inkanusinho # 0 ⇈
Но я знаю какой ты следующий вопрос задашь
bormand # 0 ⇈
DypHuu_niBEHb # 0 ⇈
bormand # 0 ⇈
ASD_77 # 0
guest # 0 ⇈
npopa6 # 0 ⇈
Desktop # 0 ⇈