Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
// 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.
Именно поэтому я за GCC. Недавно пробовал установить шланг, так там столько питушни... А ещё, вы не поверите, там пусть к «настоящему компилятору» захардкожен, поэтому просто скачать бинарь и течь не получится. Про майкрософт я вообще молчу, с компаниями, которые чипируют людей, я переговоров не веду и их компиляторами не компилирую.
Драконий покер впервые встречается нам в ''Мифических историях'' у Роберта Асприна. Позже автор пишет:
«Наиболее сложная карточная игра для всех измерений. По существу - покер с шестью картами на руках, отличается лишь тем, что в игре применяется так называемый "условный модификатор", который меняет значение карт в зависимости от числа игроков, дня недели, ориентации игроков по сторонам света, цвета стен помещения, в котором идет игра, высшей карты, которая принесла выигрыш в предпоследней сдаче, и так далее. Словом, вы все усекли».
Драконий покер впервые встречается нам в ''Мифических историях'' у Роберта Асприна. Позже автор пишет:
«Наиболее сложная карточная игра для всех измерений. По существу - покер с шестью картами на руках, отличается лишь тем, что в игре применяется так называемый "условный модификатор", который меняет значение карт в зависимости от числа игроков, дня недели, ориентации игроков по сторонам света, цвета стен помещения, в котором идет игра, высшей карты, которая принесла выигрыш в предпоследней сдаче, и так далее. Словом, вы все усекли».
Прочёл, как 'others are wrong in three different gays.