在以下场景下应该使用static_cast:1. 将一种基本数据类型转换为另一种基本数据类型,例如将int转换为float。2. 将指针或引用从一个类层次结构向下转换为派生类类型。3. 将指针...
1. static_cast static_cast用于基本数据类型之间以及具有继承关系的指针或引用之间的类型转换,还可以用于隐式类型转换(例如将float转换为int)。此外,它还可以用于将void指针转换为任意其他类型指针。 使用场景:主要用于数值之间的转换及具有继承关系的指针和引用之间的转换。 例: 1floata =3.14;2intb = static_cast...
std::cout << "(int*)b :" << (int*)b << " (int)b:" << (int)b << " reinterpret_cast<int>(b):" << reinterpret_cast<int>(b) << std::endl; // 1.这里假设把c转换为(K*)c,编译不会报错,可是假设使用static_cast<K*>编译会报错. // 由于static_cast会进行上行的类型检查. //...