Size: a a a

cxx.Дискуссионная

2020 February 26

НК

Никита Кучеренко in cxx.Дискуссионная
Ты Уверен?))))
источник

НК

Никита Кучеренко in cxx.Дискуссионная
источник

RM

Roy Mustang in cxx.Дискуссионная
По поводу constexpr, если переменная не используется, она будет добавлена в код?
источник

А

Андрей in cxx.Дискуссионная
Roy Mustang
По поводу constexpr, если переменная не используется, она будет добавлена в код?
В конфиг будет добавлена
источник

RM

Roy Mustang in cxx.Дискуссионная
Андрей
В конфиг будет добавлена
Чего?
источник

TS

Till Schneider in cxx.Дискуссионная
Roy Mustang
Чего?
Переменная же
источник

RM

Roy Mustang in cxx.Дискуссионная
Till Schneider
Переменная же
Я думал оптимизация какая нибудь будет если переменные не используются
источник

RM

Roy Mustang in cxx.Дискуссионная
они у меня в .hpp лежат
источник

RM

Roy Mustang in cxx.Дискуссионная
а они получается inline
источник

RM

Roy Mustang in cxx.Дискуссионная
constexpr же inline
источник

O

Ofee in cxx.Дискуссионная
Till Schneider
а как быть, если нравится snake_case? пилить еще одну версию?
Думаю, проблема решается регулярками. Можно ещё макросами решить эту проблему
источник

АК

Александр Караев in cxx.Дискуссионная
@devoln подскажи, что станет с твоими контейнерами, если сделать
for (...) {
 try {
   p.AddLast(A{});
 } catch (...) {}
}

В случаях, когда конструкторы иногда бросают исключения (move/copy)?
Можно ещё рядом положить бросающий исключения аллокатор для надёжности и поиграться с = delete
источник

АВ

Александр Вольнов in cxx.Дискуссионная
Александр Караев
@devoln подскажи, что станет с твоими контейнерами, если сделать
for (...) {
 try {
   p.AddLast(A{});
 } catch (...) {}
}

В случаях, когда конструкторы иногда бросают исключения (move/copy)?
Можно ещё рядом положить бросающий исключения аллокатор для надёжности и поиграться с = delete
Как приеду на работу, гляну исходники, не помню. Я вроде этот случай не прорабатывал. И тут в принципе вроде нет хорошего решения.
источник

АК

Александр Караев in cxx.Дискуссионная
Александр Вольнов
Как приеду на работу, гляну исходники, не помню. Я вроде этот случай не прорабатывал. И тут в принципе вроде нет хорошего решения.
Ну, стандартная библиотека даёт абсолютно четкие гарантии на любой из методов. Где-то strong, где-то basic exception guarantee
источник

АК

Александр Караев in cxx.Дискуссионная
Например, vector::push_back:
If an exception is thrown (which can be due to Allocator::allocate() or element copy/move constructor/assignment), this function has no effect (strong exception guarantee).
источник

TS

Till Schneider in cxx.Дискуссионная
Александр Караев
@devoln подскажи, что станет с твоими контейнерами, если сделать
for (...) {
 try {
   p.AddLast(A{});
 } catch (...) {}
}

В случаях, когда конструкторы иногда бросают исключения (move/copy)?
Можно ещё рядом положить бросающий исключения аллокатор для надёжности и поиграться с = delete
не вали =)
источник

АК

Александр Караев in cxx.Дискуссионная
Till Schneider
не вали =)
Я не первый раз встречаю самописные STL или контейнеры и почему-то авторы очень много внимания уделяют оптимизациям и реализации, совершенно забывая про гарантии интерфейса
источник

RM

Roy Mustang in cxx.Дискуссионная
Можно как то на гитхабе в сорцых поддержку Кириллицы нормальной сделать?
источник

RM

Roy Mustang in cxx.Дискуссионная
и чтобы когда вытягиваешь репу кодировка не ломалась
источник

N

Neargye in cxx.Дискуссионная
Александр Вольнов
Как приеду на работу, гляну исходники, не помню. Я вроде этот случай не прорабатывал. И тут в принципе вроде нет хорошего решения.
move_if_notrow and etc
источник