LINUX.ORG.RU

Сигнатуры

 , ,


0

2

Встречались ли в реальной жизни вам сигнатуры вида:

[[deprecated]] [[maybe_unused]] virtual boost::optional<long long int> SuperClass::superMethod11([[maybe_unused]] const std::string& thing_arg_A, [[maybe_unused]] const std::vector<std::string>::const_iterator *const thing_arg_B) override final noexcept

в реальной жизни ?



Последнее исправление: not_rj45 (всего исправлений: 6)

Каждый день такие пишу.

anonymous
()

Да (кроме разве что [[maybe_unused]] для метода, да и override у нас не пишут при наличии final), а что тебя смущает? У тебя есть сомнения что в реальной жизни встречаются устаревшие API? виртуальные функции и их переопределение? неиспользуемые аргументы? запрет исключений? Или в твоё сознание не помещается возможность сосуществования этого всего?

slovazap ★★★★★
()
Последнее исправление: slovazap (всего исправлений: 2)
Ответ на: комментарий от Virtuos86

И эти люди критикуют синтаксис Rust!?

прикинь

not_rj45
() автор топика
Ответ на: комментарий от Dudraug

Как устаревшесь API связана с стандартом? O_o

ну какбэ черновик C++17 заапрувили только вот в декабре 17го, а у кого-то на нем уже успели API устареть

not_rj45
() автор топика
Ответ на: комментарий от not_rj45

Реализацию устаревших API начали собирать новым компилятором и сразу формализовали сложившуюся ситуацию. Считай использование virtual вместе с overridе признаком древности разработчиков и кода, т.е. с override они уже познакомиться успели, а отучиться от virtual ещё нет.

anonymous
()

[[fallthrough]] и [[maybe_unused]] обычно.

ox55ff ★★★★★
()
Ответ на: комментарий от not_rj45

А ничего что оно могло быть устаревшим хоть с прошлого века, а новые кейворды и аттрибуты добавлялилсь по мере обновления стандартов хоть sed'ом по всему коду?

slovazap ★★★★★
()

Прям такие нет, но подобных (аннотированных, но по-другому) есть дофига в WinApi - только там не аттрибуты а SAL

Uter
()
Последнее исправление: Uter (всего исправлений: 1)

Встречались с [[noreturn]] и [[deprecated]]

SR_team ★★★★★
()
Ответ на: комментарий от tyamur

brainfuck — простая и прямолинейная реализация машины Тьюринга, чему там учиться?

fluorite ★★★★★
()
Ответ на: комментарий от not_rj45

1) Где там с++17 кроме как в аттрибутах? Пред. версия могла быть на с++14, использовать ту же сигнатуру. В новой версии либы решили пометить устаревшее давным-давно как деприкейтед, ибо теперь могут.

2) На деле компиляторы поддерживают с++17 уже очень давно, публикация стандарта вносит совсем маленькие измненения, непринципиальные.

3) API может устареть и за месяц, если ты с таким не сталкивался, то это не значит что так не бывает. Поверь - бывает.

Dudraug ★★★★★
()
Ответ на: комментарий от anonymous

хехе, с компайлтаймом то ясно, сртп и пр., но интересно, чем же заменить virtual если у тебя состояние в рантайме меняется?

anonymous
()

нет. но ничего критичного в таком объявлении не вижу. если разработчик заботится о тех, кто использует его API и заранее предупреждает, что эти вызовы устарели, то это просто жест вежливости.

неосиляторы, как всегда, заверещали в комментах про то, что они неосиляторы. да и насрать на их проблемы, я думаю.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

неосиляторы, как всегда, заверещали в комментах про то, что они неосиляторы

Лол. Как всегда, пришёл местный шизофреник и начал метать копья «неосиляторов». Мило!

anonymous
()

Одной строкой? Нет, конечно, кто ж такую кашу добровольно читать станет?

XMs ★★★★★
()
Ответ на: комментарий от anonymous

тююю, я думал ты имел ввиду использовать компайлтайм полиморфизм вместо рантайм полиморфизма, компайл тайм визитор или компайл тайм буилдер, а ты просто предлагаешь экономить на спичках.

ты скучный. иди пиши на бейсике

anonymous
()
Ответ на: комментарий от Virtuos86

У раста нет синтаксиса, а есть нагромождение рандомного дерьма. При этом, если в крестах это ограничивается только правой примеров, и [[name]]-параша - это один из них. То вот в расте такое всё.

Да и вообще этот код писал идиот(если мы предположим, что такое кто-то может написать в реальности), который ставил рандомные консты, типы и всё остальное. Т.е. это не живой пример.

В ситуации с растом, всё то убожество - это живые примеры. В этом и есть принципиальная разница.

vcerloman
()
Ответ на: комментарий от vcerloman

Зачем ты мне пишешь сюда? Давно не смотрел исходники спирита? Лол :-)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.