a. 能否将一个非常量对象的地址赋给一个常量指针?
b. 能否将一个常量对象的地址赋给一个非常量指针?若确要如此,该如何做?
可以将非常量对象地址赋值给常量指针,但是不能将常量对象地址给非常量指针,因为其无法保证不修改常量对象。
若却要如此,则只能强制转换,能编译通过,但却可能存在隐患。因此编译器的工作就是将一切可能的隐患扼杀在摇篮中。
void main()
{
const int i=5;
int *j=const_cast<int *>(&i);
}
a. 能否将一个非常量对象的地址赋给一个常量指针?
b. 能否将一个常量对象的地址赋给一个非常量指针?若确要如此,该如何做?
可以将非常量对象地址赋值给常量指针,但是不能将常量对象地址给非常量指针,因为其无法保证不修改常量对象。
若却要如此,则只能强制转换,能编译通过,但却可能存在隐患。因此编译器的工作就是将一切可能的隐患扼杀在摇篮中。
void main()
{
const int i=5;
int *j=const_cast<int *>(&i);
}