建立一个临时变量,将value的值赋给临时变量,将ptr指向该临时变量即可 #include <iostream> void yanfa2012q4() { const double value=0.2f; double b; double *ptr=&b; b=value; std::cout<<*ptr; }
const double value=0.2f; double *ptr = const_cast<double *>(&value);
#include <stdio.h> int main(void) { const double x = 3; double *px = NULL; const double **ppx = &px; *ppx = &x; *px = 4; printf("%g\n", x); return 0; } 他想考的应该是通过指针的指针修改const变量,不是直接暴力地强制转换吧。。
a. 能否将一个非常量对象的地址赋给一个常量指针? b. 能否将一个常量对象的地址赋给一个非常量指针?若确要如此,该如何做? 可以将非常量对象地址赋值给常量指针,但是不能将常量对象地址给非常量指针,因为其无法保证不修改常量对象。 若却要如此,则只能强制转换,能编译通过,但却可能存在隐患。因此编译器的工作就是将一切可能的隐患扼杀在摇篮中。 void main() { const int i=5; int *j=const_cast<int *>(&i); } 顶0
a. 能否将一个非常量对象的地址赋给一个常量指针?
b. 能否将一个常量对象的地址赋给一个非常量指针?若确要如此,该如何做?
可以将非常量对象地址赋值给常量指针,但是不能将常量对象地址给非常量指针,因为其无法保证不修改常量对象。
若却要如此,则只能强制转换,能编译通过,但却可能存在隐患。因此编译器的工作就是将一切可能的隐患扼杀在摇篮中。
void main()
{
const int i=5;
int *j=const_cast<int *>(&i);
}
const int* const_p = &constant;
int* modifier = const_cast(const_p)
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题