TGViewer
C++: Хроники Дурки🚑 C++: Хроники Дурки🚑 @cpp_durka · 916 subscribers
Post #43 1.6K
А вот в C23 можно тип объявлять прямо в return типе.


#include <stdio.h>

struct{int a; float b;} test()
{
return (typeof(test())){1337, 666.666};
}

int main()
{
auto a = test();
printf("%d %f\n", a.a, a.b);
return 0;
}


А вот в С++ такого нельзя:


error: new types may not be defined in a return type


Товарищи из комитета, отстаете. Где эти безусловно нужные всем языковые фичи?
godbolt.org Compiler Explorer - C (x86-64 clang (trunk)) struct{int a; float b;} test() { return (typeof(test())){1337, 666.666}; } int main() { auto a = test(); printf("%d %f\n", a.a, a.b); return 0; }
  • 💊 17
  • 🤣 6
  • 🫡 5
  • 🔥 1
More from @cpp_durka
  1. Sep 8, 2026Мошенники заставили пенсионерку из Москвы переписать квартиру на Rust
  2. Aug 31, 2026Всяко разное болезненное есть в С++, из всего болезненного одно из самых болезненных - это…
  3. Aug 24, 2026Если кто не знаком с библиотекой nlohmann/json - она прекрасна. Мои мысли о том, как должн…
  4. Aug 21, 2026#толькосвоимемы Код взят тут. if (dim == 0) idx_dim = i0; else if (dim == 1) idx_dim = i1;…
  5. Aug 17, 2026Ладно, искать баги в компиляторах весело, но недостаточно. Давайте поиграемся в чуть более…
  6. Aug 10, 2026Ладно, разумеется прошлый пост был набросом. Никогда не обновляйте компиляторы без очень с…
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 →