Size: a a a

2021 February 26

ID

In Dev in supapro.cxx
Nastya Medveda
Спасибо. У меня ощущение бездны. Куда бы я не заглянула в С++ - дна не видно. :)
Вам вряд ли полегчает, но это никогда не заканчивается)
источник

ЕП

Евгений Попов... in supapro.cxx
Настя, не те учителя )
источник

LA

Liber Azerate in supapro.cxx
Евгений Попов
Настя, не те учителя )
Ты вот мало чего полезного сказал, зато набрасываешь много
источник

VV

Vadim Voitenko in supapro.cxx
In Dev
Вам вряд ли полегчает, но это никогда не заканчивается)
так наоборот интересно)
источник

ID

In Dev in supapro.cxx
Vadim Voitenko
так наоборот интересно)
Полностью поддерживаю
источник

CD

Constantine Drozdov in supapro.cxx
Nastya Medveda
Спасибо. У меня ощущение бездны. Куда бы я не заглянула в С++ - дна не видно. :)
C++ это почти неупрощенная сложность реального мира
источник

SF

S F in supapro.cxx
источник

CD

Constantine Drozdov in supapro.cxx
К сожалению, моя паста про книги по архитектуре не очень подходит по стилистике для этого чата
источник

ID

In Dev in supapro.cxx
Constantine Drozdov
К сожалению, моя паста про книги по архитектуре не очень подходит по стилистике для этого чата
А можно хотя бы в личку пасту? :)
источник

ЕП

Евгений Попов... in supapro.cxx
Я к тому что код так или иначе исполняется на железе. Общие представления необходимы
источник

DP

Denis Paukaev in supapro.cxx
Constantine Drozdov
К сожалению, моя паста про книги по архитектуре не очень подходит по стилистике для этого чата
Ну оформи отдельно и сюда ссылку )
источник

SF

S F in supapro.cxx
Denis Paukaev
Ну оформи отдельно и сюда ссылку )
+
источник

LA

Liber Azerate in supapro.cxx
Denis Paukaev
Ну оформи отдельно и сюда ссылку )
+
источник

NM

Nastya Medveda in supapro.cxx
Дошла до главы с exceptions.Подскажите, а как найти какие exceptions может выбросить, например,  ifstream? В документации не вижу
источник

ID

In Dev in supapro.cxx
Возвращаясь к теме алиасинга.
Я правильно понимаю, что std::launder позволяет обойти UB из примера выше?

int a = 5;
int *p = &a;
double *d = std::launder(reinterpret_cast<double*>(p));


Конечно, если int и double каким-то чудом имеют одинаковый размер
источник

CD

Constantine Drozdov in supapro.cxx
Nastya Medveda
Дошла до главы с exceptions.Подскажите, а как найти какие exceptions может выбросить, например,  ifstream? В документации не вижу
При первом знакомстве с С++ можете опускать главы про исключения и RTTI. Они используются только при крайней необходимости
источник

CD

Constantine Drozdov in supapro.cxx
In Dev
Возвращаясь к теме алиасинга.
Я правильно понимаю, что std::launder позволяет обойти UB из примера выше?

int a = 5;
int *p = &a;
double *d = std::launder(reinterpret_cast<double*>(p));


Конечно, если int и double каким-то чудом имеют одинаковый размер
Нет
источник

LA

Liber Azerate in supapro.cxx
Nastya Medveda
Дошла до главы с exceptions.Подскажите, а как найти какие exceptions может выбросить, например,  ifstream? В документации не вижу
Ну вот смотреть конкретные функции. Например конструктор. Здесь всё описано:
https://en.cppreference.com/w/cpp/io/basic_ifstream/basic_ifstream
источник

NM

Nastya Medveda in supapro.cxx
Constantine Drozdov
При первом знакомстве с С++ можете опускать главы про исключения и RTTI. Они используются только при крайней необходимости
Спасибо. В более менее знакомом мне питоне обработка exceptions это половина кода.
источник

CD

Constantine Drozdov in supapro.cxx
In Dev
Возвращаясь к теме алиасинга.
Я правильно понимаю, что std::launder позволяет обойти UB из примера выше?

int a = 5;
int *p = &a;
double *d = std::launder(reinterpret_cast<double*>(p));


Конечно, если int и double каким-то чудом имеют одинаковый размер
Если вы внимательно прочитаете, что такое std::launder, он возвращает адрес объекта по его адресу в памяти
источник