Кресты / Говнокод #27222 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
// https://quuxplusone.github.io/blog/2021/01/13/conversion-operator-lookup/

struct A {
    using T = T1;
    using U = U1;
    operator U1 T1::*();
    operator U1 T2::*();
    operator U2 T1::*();
    operator U2 T2::*();
};

inline auto which(U1 T1::*) { return "gcc"; }
inline auto which(U1 T2::*) { return "icc"; }
inline auto which(U2 T1::*) { return "msvc"; }
inline auto which(U2 T2::*) { return "clang"; }

int main() {
    A a;
    using T = T2;
    using U = U2;
    puts(which(a.operator U T::*()));
}

> As of this writing (but perhaps not for very much longer!) the four mainstream compilers on Godbolt Compiler Explorer give four different answers for this simple C++ program:

> According to the current draft standard, it sounds like the conforming answer is “they should both be looked up in the scope of A”; i.e., GCC’s answer is correct and the others are wrong in three different ways.

Какой багор )))

Запостил: j123123 j123123, (Updated )

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

  • Именно поэтому я за GCC. Недавно пробовал установить шланг, так там столько питушни... А ещё, вы не поверите, там пусть к «настоящему компилятору» захардкожен, поэтому просто скачать бинарь и течь не получится. Про майкрософт я вообще молчу, с компаниями, которые чипируют людей, я переговоров не веду и их компиляторами не компилирую.
    Ответить
  • Какая-то клинопись неизвестного ранее индейского племени, срочно нужны последователи Кнорозова
    Ответить
  • Резолвинг символа в C++ напоиинает мне вот

    Драконий покер впервые встречается нам в ''Мифических историях'' у Роберта Асприна. Позже автор пишет:

    «Наиболее сложная карточная игра для всех измерений. По существу - покер с шестью картами на руках, отличается лишь тем, что в игре применяется так называемый "условный модификатор", который меняет значение карт в зависимости от числа игроков, дня недели, ориентации игроков по сторонам света, цвета стен помещения, в котором идет игра, высшей карты, которая принесла выигрыш в предпоследней сдаче, и так далее. Словом, вы все усекли».
    Ответить
  • >others are wrong in three different ways.
    Прочёл, как 'others are wrong in three different gays.
    Ответить
  • Лялечка, не бей меня, мы с пацанами получку обмывали.
    Ответить

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

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

    А не использовать ли нам bbcode?


    8