1. C++ / Говнокод #23854

    −1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    #include <iostream>
    using namespace std;
    struct MyType { MyType() {  cout << __PRETTY_FUNCTION__ << endl; }};
    MyType& MyType() { cout << __PRETTY_FUNCTION__ << endl; }
    using MyType2 = struct MyType;
    int main() {
      // MyType t; <- error: expected ‘;’ before ‘t’
      MyType();
      struct MyType t;
      struct MyType t1 = MyType();
      struct MyType t2 = (struct MyType)::MyType();
      struct MyType t3 = MyType2();
      new(&t2) struct MyType();
      return 0;
    }

    Крестоблядство по мотивам #23850.
    https://ideone.com/XcK2hf.
    Особенно меня порадовал каст на 11 строчке.

    Запостил: Bobik, 03 Марта 2018

    Комментарии (3) RSS

    • http://govnokod.ru/12852
      Занимался когда-то подобным безобразием.
      Ответить
    • struct MyType t2 = (struct MyType)::MyType();

      А может, это не каст, а указание области видимости: MyType(), расположенный в struct MyType.
      Ответить

    Добавить комментарий