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

Добрый день! Подскажите пожалуйста, меняет ли что-то добавление ключевого слова inline

перед шаблонной функцией в коде ниже? Уточню, что у этой функции нет специализаций.
template <class T>
inline
void fn(T){};

19 ответов

12 просмотров

Не влияет

Artöm Bakri Al-Sarmini
Не влияет

Кажется неявный inline есть только если шаблон определяется сразу. Здесь стоит точка с запятой, то есть, мне кажется, влияет.

Sergey Skvortsov
Там пустое тело

Кажется там даже некомпилирующиййся код. =)

Andrey- Автор вопроса
Sergey Skvortsov
Там пустое тело

положим, что тело непустое (хотя, кажется, это не должно менять дело)

magras
Кажется там даже некомпилирующиййся код. =)

Да нет, компилирующийся Просто пустой statement

Sergey Skvortsov
Да нет, компилирующийся Просто пустой statement

void f(){};? Точна с запятой после тела функции.

Andrey- Автор вопроса
magras
void f(){};? Точна с запятой после тела функции.

лишняя, поспешил и не заметил. Но на компиляцию это не должно влиять)

Sergey Skvortsov
Да нет, компилирующийся Просто пустой statement

хм. И в правду gcc и clang это компилируют. А чем является одиночный ;? Это пустой definition statement? Обычный statement же не может быть в глобальном скоупе или классе.

magras
хм. И в правду gcc и clang это компилируют. А чем...

Да, это empty-declaration statement: https://eel.is/c++draft/dcl.pre#11 Правда я не понимаю зачем он.

magras
Да, это empty-declaration statement: https://eel.i...

Разве что для макросов, но такое себе: #if COND # define FOO int foo #endif FOO;

magras
Да, это empty-declaration statement: https://eel.i...

Возможно, это упрощает грамматику. А ещё это может быть удобно для всяких макросов вроде DEFINE_FUNCTION(myfunction); чтобы пользователь не гадал, для каких макросов можно ставить ;, а для каких нельзя – просто ставит везде и не думает

Ofee Oficsu
Возможно, это упрощает грамматику. А ещё это может...

Грамматику кажется что не упрощает так как это отдельная ветка, для обычного declaration требуется непустой список.

Ofee Oficsu
Возможно, это упрощает грамматику. А ещё это может...

Или так писали сишники в восьмидесятых, что пришлось поддержать

Artöm Bakri Al-Sarmini
Или так писали сишники в восьмидесятых, что пришло...

А для чего после объявления структуры/класса точку с запятой писать?

Слава
А для чего после объявления структуры/класса точку...

Потому что дальше может идти имя переменной, а может не идти

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
5
Карта сайта