170 похожих чатов

Почему у объявлений функций такой рандомный разброс расположения модификаторов и

им подобных? Я имею в виду, кто-то сходу сможет сказать, в каком объявлении функции ошибка:
[[nodiscard]] const auto fun1(const int& i) noexcept const override -> std::optional<unsigned long long>;
const auto fun1(const int& i) noexcept const [[nodiscard]] -> std::optional<unsigned long long> override ;
[[maybe_unused]] const auto fun1(const int& i) const noexcept -> std::optional<unsigned long long> override;
const auto fun1(const int& i) [[maybe_unused]] const noexcept -> std::optional<unsigned long long> override;

8 ответов

24 просмотра

nodiscard и maybe unused — противоречат друг другу,

Eyed-Shovel Автор вопроса
Ilya Zviagin
nodiscard и maybe unused — противоречат друг другу...

Да, мне почему-то казалось, что оно про то, что функция может не использоваться. Но сути не меняет

Eyed Shovel
Да, мне почему-то казалось, что оно про то, что фу...

Именно так и есть, они не противоречат друг другу

Ilya Zviagin
nodiscard и maybe unused — противоречат друг другу...

Ну вот это утверждение неверно, так как nodiscard про использование возвращаемого значения, maybe_unused про то, что сама функция может не использоваться (https://en.cppreference.com/w/cpp/language/attributes/maybe_unused)

Alexander Karaev
Ну вот это утверждение неверно, так как nodiscard ...

Так любая функция может всегда не использоваться....

Ilya Zviagin
Так любая функция может всегда не использоваться.....

Может. Но не всегда это отслеживается. Но, например, на неиспользуемые static функции (internal linkage) компиляторы обычно дают предупреждение. Думаю, как раз этот случай maybe_unused на функциях покрывает

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
1
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Карта сайта