- 1
- 2
- 3
//! Set this value as an empty object.
/*! \post IsObject() == true */
GenericValue& SetObject() { this->~GenericValue(); new (this) GenericValue(kObjectType); return *this; }
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+3
//! 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 16.06.2021 17:52 # +4
https://en.cppreference.com/w/cpp/language/lifetime , раздел "Storage reuse".
inkanusinho 16.06.2021 19:29 # 0
PolinaAksenova 16.06.2021 19:51 # 0
Вся эта либа ориентированя ня максимальную производительнясть, так что ничего удивительного, что они используют такую низроуровнявую функционяльность.
inkanusinho 16.06.2021 20:00 # 0
PolinaAksenova 16.06.2021 20:07 # 0
inkanusinho 16.06.2021 20:09 # 0
PolinaAksenova 16.06.2021 20:10 # 0
inkanusinho 16.06.2021 20:16 # 0
PolinaAksenova 16.06.2021 20:23 # 0
DypHuu_niBEHb 16.06.2021 19:53 # 0
Так работают некоторые контейнеры, например
Так что всё вроде логично
warzes 26.08.2021 04:34 # 0
inkanusinho 16.06.2021 20:01 # 0
PolinaAksenova 16.06.2021 20:08 # +3
inkanusinho 16.06.2021 20:11 # 0
Зачем восклицательный знак?
PolinaAksenova 16.06.2021 20:12 # 0
gologub 16.06.2021 20:14 # 0
а ниже типа summary
inkanusinho 16.06.2021 20:13 # 0
"this->" - это чтобы не перепутать с унарным оператором "~"?
PolinaAksenova 16.06.2021 20:16 # +2
bormand 16.06.2021 22:25 # 0
inkanusinho 16.06.2021 22:28 # +3
Но я знаю какой ты следующий вопрос задашь
bormand 16.06.2021 22:32 # +3
DypHuu_niBEHb 17.06.2021 17:46 # 0
bormand 17.06.2021 17:48 # 0
ASD_77 17.06.2021 01:11 # 0
guest6 17.06.2021 01:13 # +2
npopa6 17.06.2021 01:14 # +6
Desktop 17.06.2021 12:15 # +2