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

Является ли out of class member definition - declaration? Желательно

с отсылкой на стандарт. Уже 3 часа пытаюсь найти.

struct A {
void a();
};

void A::a() {}

Является ли void A::a() {} объявлением?

12 ответов

22 просмотра

Думаю, что является. Не уверен, указано ли это где-то непосредственно, но в стандарте есть такой пример для шаблона функции: template <class T> decltype(g(T())) h(); int g(int); template <class T> decltype(g(T())) h() // redeclaration of h() uses the earlier lookup… { return g(T()); } // … although the lookup here does find g(int)

Red-Paper Автор вопроса
Ofee Oficsu
Думаю, что является. Не уверен, указано ли это где...

Definition, который не out of class - это же всегда ещё и declaration, как я понимаю. Пример вроде совсем не про это. Или я что-то не так понял?

Red Paper
Definition, который не out of class - это же всег...

Да, пример не совсем про методы, но я не думаю, что для определения out of class есть основания считать иначе И есть ещё один подходящий пункт: A redeclaration of a class member outside its class definition shall be a definition, an explicit specialization, or an explicit instantiation Тут однозначно даётся понять, что определения снаружи класса (как минимум) могут являться (ре)декларациями

Red-Paper Автор вопроса
Ofee Oficsu
Да, пример не совсем про методы, но я не думаю, чт...

Действительно. Написано, что переобъявление снаружи может являтся определением.

Я конечно не эксперт, и cppref не стандарт, но если открыть https://en.cppreference.com/w/cpp/language/definition то лично у меня вопросов не возникает

Нет не является

Red-Paper Автор вопроса
Ilya Zviagin
Нет не является

Есть более формальные объяснение?

Red-Paper Автор вопроса
Ilya Zviagin
Нет не является

Интересно услышать мнение Ильи. Мне кажется, он что-то знает...

Red-Paper Автор вопроса

.

Red Paper
.

Ну он откуда берётся вообще

Red Paper
Есть более формальные объяснение?

Тут https://en.cppreference.com/w/cpp/language/static Заметь слово declares в первом предложении. Если надо стандарт, там есть ссылки и на стандарт

Red-Paper Автор вопроса
Ilya Zviagin
Тут https://en.cppreference.com/w/cpp/language/st...

Заметь слово static. Мой кейс с нестатик членами.

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта