const指针的赋值问题——新手入门,不理解
书上说:“只能把非const指针赋给const指针,不能把const指针赋给非const指针”解释是防止你使用新指针改变const数据。为什么可以改变?按照我的理解,首先声明a=5,然后将a赋给b(b=a;),那么应该是b改变为5,a不变;可对于(非const)=const;为什么却是(非const)不变,const变了???
求帮助!
2015-08-21 11:56
2015-08-21 21:40
2015-08-22 07:52
2015-08-22 22:25
int x = 1; const int* p = &x;
程序代码:char s1[] = "Hello, world!"; char s2[] = "abcd"; char* const p = s1; const char* q = s1;
程序代码:int x = 1; const int* p = &x; int* q = &x; *p = 0; // 非法,編譯不通過 *q = 0; // 合法,編譯通過並可執行成功

2015-08-22 22:46
2015-08-23 09:32
2015-08-23 09:42
2015-08-26 09:04
2015-08-26 12:31