Почему std :: type_info :: operator! = Удалено в C ++ 20?

Java имеет класс Random в пакете java.util. Используя его, вы можете сделать следующее:

Random rnd = new Random();
int randomNumberFromArray = array[rnd.nextInt(3)];

Надеюсь, что это поможет!

20
задан StoryTeller 10 October 2019 в 10:12
поделиться

1 ответ

Нам не нужна библиотека, обеспеченная operator!= больше. Обеспечение operator== позволяет компилятору делать некоторое манипулирование и оценивать a != b с точки зрения a == b, все самостоятельно.

[over.match.oper]

3 Для унарного оператора с операндом типа, дисквалифицированная условной ценой версия которого является T1, и для бинарного оператора с левым операндом типа, дисквалифицированная условной ценой версия которого является T1 и правильным операндом типа, дисквалифицированная условной ценой версия которого является T2, четырьмя наборами функций кандидата, обозначенных членских кандидатов, не являющихся членом кандидатов, встроенные кандидаты и переписанные кандидаты, создаются следующим образом:

3.4.3 Для! = оператор ([expr.eq]), среди переписанных кандидатов все непереписанные кандидаты на выражение x == y.

std::type_info и намного больше типов библиотеки удалили их operator!= как часть P1614 - Mothership Приземлился .

29
ответ дан 28 November 2019 в 03:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: