TGViewer
C++ and other lectures C++ and other lectures @cpp_lects_rus · 9.94K subscribers
Post #146 11K
День прошёл не зря — я узнал третье отличие class от struct.

Игра следующая: в контексте где возможны и class и struct найти где они будут вести себя по разному.

Общеизвестны 2 отличия:
(1) В class все поля по умолчанию private, в struct — public.
(2) Наследование в структуре по умолчанию публичное а в классе приватное.

Первое обычно знают все. Второе иногда вспоминают на интервью. Но сегодня я узнал третье.

(3) В качестве шаблонного параметра class означает тип, а struct начиная с C++20 означает NTTP с типом этой структуры (или класса с тем же именем, что, ИМХО, особенно прекрасно).

Наслаждаемся: https://godbolt.org/z/vsWzsTK8r

Найдётся ли четвёртое? Жду ваших предложений =)

#questions
godbolt.org Compiler Explorer - C++ class T {}; template <class T> struct A {}; template <struct T> struct B {}; int main() { A<T> a; B<T{}> b; }
  • 🤯 66
  • 🔥 25
  • 👍 18
  • ❤ 6
  • 🤷 5
More from @cpp_lects_rus
  1. Sep 22, 2026В четверг вечером провожу встречу со студентами и преподавателями ВШЭ. В планах: короткий…
  2. Sep 19, 2026Многие люди, прошедшие мой базовый курс языка C спрашивали -- а что дальше. Ведь мир языка…
  3. Sep 12, 2026Участвую в Ghost in the Code, рассылке YADRO о работе с легаси на C++. Удивительно ламповы…
  4. Sep 10, 2026Выложили доклад моего аспиранта и коллеги Владислава Белова @sick_hoof по алиасингу памяти…
  5. Sep 5, 2026Мне начали кидать в личку всякие странные видео из бентосных интернетов, появляющиеся (сей…
  6. Sep 3, 2026Выложили доклад моего студента и коллеги Саши Романова про рефлексию в C++. С моей точки з…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →