AlexBi (17.09.2020 18:22, просмотров: 476) ответил SciFi на Это интересно, но здесь даже нет преобразования. Оператор ! -- это
сравнение с нулём, и если аргумент целое, плавучка или указатель,
всё это работает немного по-разному. У целого -- простое сравнение
с нулём, у плавучки -- сравнение с 0.0 (там уже может играть режим
округления и т.п.), у указателя -- сравнение с нулевым указателем
(который на какой-нибудь экзотической архитектуре может иметь
ненулевое двоичное представление).
Вроде бы есть, даже два. Оператор ! работает только с типом bool,
поэтому то, что ему подсунули, сперва должно превратиться в bool.
Для целых и плавучки это сравнение с нулем, и т.д. После выполнения
(!) получается bool, который, в описываемом примере, превращается в
int.