Size: a a a

2020 April 21

AB

Artöm Bakri Al-Sarmini in pro.cxx
nlohmann json
источник

A

Alex in pro.cxx
проверил все 3 компилятора - даже msvc выругался. А где же тогда это могло работать?
источник

AB

Artöm Bakri Al-Sarmini in pro.cxx
Но это на их совести
источник

A

Alex in pro.cxx
Artöm Bakri Al-Sarmini
nlohmann json
о, не удивлён, это самая ужасная json библиотека, что я видел (хотя публичный интерфейс неплохой)
источник

АК

Александр Караев in pro.cxx
vehlwn
В одном проекте я видел треит, который проверял, что Т полный или форвард декларед, как раз с помощью sizeof(T).
через SFINAE на sizeof, это нормально
источник

АК

Александр Караев in pro.cxx
Alex
проверил все 3 компилятора - даже msvc выругался. А где же тогда это могло работать?
источник

A

Alex in pro.cxx
Круто!
Но тогда sizeof неполного типа не равен нулю, а вызывает ошибку, что можно проверить.
источник

АК

Александр Караев in pro.cxx
Alex
Круто!
Но тогда sizeof неполного типа не равен нулю, а вызывает ошибку, что можно проверить.
ну да, это sfinae-friendly ill-formed (возможно, я косячу в терминах)
источник

A

Alex in pro.cxx
просто кто-то выше писал, что sizeof неполного типа 0, и я сам так думал, а на самом деле-то нет
источник

ПК

Побитый Кирпич in pro.cxx
Alex
просто кто-то выше писал, что sizeof неполного типа 0, и я сам так думал, а на самом деле-то нет
sizeof вообще не может быть 0. Это можно сказать  фундаментальное правило С++, которое следует из того, что два разных объекта не могут лежать по одному адресу
источник

A

Alex in pro.cxx
мне тоже это было странно, но я такое то ли читал, то ли слышал от кого-то. Сам не проверял, но запомнил.
источник

A

Alex in pro.cxx
там же, кстати, были какие-то движения, чтобы объекты, которые ничего не хранят, могли не занимать память?
источник

A

Alex in pro.cxx
не могу вспомнить ключевые слова
источник

A

Alex in pro.cxx
то есть, по сути, чтобы могли виртуально лежать по одному адресу
источник

DF

Dollar Føølish in pro.cxx
У тебя объект и его база могут по одному адресу лежать и так
источник

AZ

Alexander Zaitsev in pro.cxx
Alex
там же, кстати, были какие-то движения, чтобы объекты, которые ничего не хранят, могли не занимать память?
[[no_unique_address]]? embo?
источник

DF

Dollar Føølish in pro.cxx
И неограниченное количество баз на самом деле
источник

AB

Artöm Bakri Al-Sarmini in pro.cxx
Alex
там же, кстати, были какие-то движения, чтобы объекты, которые ничего не хранят, могли не занимать память?
empty base optimization
источник

A

Alex in pro.cxx
Похоже. Спс, погуглю, но если это только для base - это скучно
источник

AB

Artöm Bakri Al-Sarmini in pro.cxx
И для полей
источник