Size: a a a

Конференция C++ Russia

2021 August 17

АК

Александр Караев... in Конференция C++ Russia
У нас всё-таки RAII любят: std::unique_ptr<int> func()
источник

VS

Vladimir SHCHerba in Конференция C++ Russia
Ммм, аллокация чтобы вернуть int.
источник

IG

Ilya Golovenko in Конференция C++ Russia
В идеале вообще бы std::expected<int> func()
источник

SP

Sergey Platonov in Конференция C++ Russia
если что, это была шутка, конечно
а то чувствую сейчас начнут объяснять почему так не нужно делать :)
источник

VV

ViktuZ VikTOR in Конференция C++ Russia
Почему же было бы интересно послушать
источник

АК

Александр Караев... in Конференция C++ Russia
источник

АО

Алексей Остапенко... in Конференция C++ Russia
Указатель уже не кошерно передавать. По ссылке лучше ))
источник

NY

Nikita Yegorov in Конференция C++ Russia
Указатель может быть NULL nullptr, чего ссылка не умеет
источник

АО

Алексей Остапенко... in Конференция C++ Russia
Здесь явно не тот случай, когда это может быть нужно.
источник

IG

Ilya Golshtein in Конференция C++ Russia
Parameters are either inputs to the function, outputs from the function, or both. Non-optional input parameters should usually be values or const references, while non-optional output and input/output parameters should usually be references (which cannot be null). Generally, use absl::optional to represent optional by-value inputs, and use a const pointer when the non-optional form would have used a reference. Use non-const pointers to represent optional outputs and optional input/output parameters.

https://google.github.io/styleguide/cppguide.html#Inputs_and_Outputs
источник

AD

Alexander Dudin in Конференция C++ Russia
absl::optional - опять NIH синдром во всей красе
источник

AN

Aleksey Nikolaev in Конференция C++ Russia
обернуть в класс и не передавать вообще ничего.
А ещё, мастера своего дела, смогут придумать 100500 способов решения задачи передачи данных для трансформации и возврата статуса. Вот тема для популяризационной статейки.
источник

АО

Алексей Остапенко... in Конференция C++ Russia
Оно появилось раньше, чем std::optional, так что это не nih-синдром.
источник

АР

Андрей Руссков... in Конференция C++ Russia
ох уж эти плюсовики, вечно понаизобретают велосипедов заменяющих отсутствующие в стандарте классы...
источник

IG

Ilya Golshtein in Конференция C++ Russia
Честно говоря, я был уверен, что гугловый кодстайл требует все неконстантное передавать по указателю, а все константное по ссылке. Но нет. Они (зачем-то) различают optional и non-optional.
источник

IG

Ilya Golshtein in Конференция C++ Russia
Ну т.е. "зачем" понятно, непонятно "почему".
источник

AD

Alexander Dudin in Конференция C++ Russia
absl::optional появился позже std::optional, это бэкпорт.
источник

OF

Oleg Fatkhiev in Конференция C++ Russia
Кодстайл поменяли год назад, раньше так было
источник

АО

Алексей Остапенко... in Конференция C++ Russia
Может ты и прав. Надо history глянуть.
источник

АК

Александр Караев... in Конференция C++ Russia
Даже если так, то abseil позиционируется как либа для С++11
источник