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

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

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

19 ответов

13 просмотров

Не влияет

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
Или так писали сишники в восьмидесятых, что пришло...

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

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

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта