把"111"强制转换成void类型。
C/C++语言里面是允许将表达式转换成void类型的,只不过相当于一条无用的语句。后面括号中的逗号其实是一个逗号表达式,所以后面括号的值为"111",然后前面强制转换成void。
可以写个程序验证一下整个表达式的类型:
#include <typeinfo>
#include <iostream>
int main(void) {
std::cout << typeid((void)("-----%s------", "111")).name() << std::endl; //这句
std::cout << typeid(static_cast<void>("-----%s------", "111")).name() << std::endl; //这句
return 0;
}
输出:
void
void
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…