最近,我对这两个表达式感到困惑 - (type)value
和 type(value)
。
例如:size_t c = size_t(-1); size_t c = (size_t)-1;
有什么区别?
最佳答案
前者是C++,它在做direct initialization通过调用构造函数。
第二个是 C(或 C++),它正在执行转换。
所以,从 C 程序员的角度来看,有很多不同之处。
另外,这是一个非常糟糕的主意,因为 size_t
是一个无符号类型。这应该使用 ssize_t
完成,它已签名并消除了强制转换的需要。
关于c++ - (type)value 和 type(value) 这两个有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14499436/