首页 > 代码库 > 2017.2.15
2017.2.15
1.const用法:
1.c与c++ const对比
c中的const量,只是一个可读的变量,可以通过强制转换其指针来改变值。
。 1 #include<stdio.h> 2 3 int main() 4 { 5 const int c=0; 6 int * p=(int*)(&c); 7 *p=1; 8 printf("%d\n",c); //用gcc编译c=1,用g++编译c=0 9 }
c中const量不能用于数组
1 const int d=8; 2 int len[d]; //error
2. 指向常量的指针和常指针
1 const int *pointer 2 int *const pointer
c++强类型转换一般约束只会增强,不会削弱。
比如:
1 int a=0; 2 const int b=0; 3 const int *pointer(&a) //正确 4 const int *pointer(&b) //正确 5 int *cosnt pointer(&a) //正确 6 int *cosnt pointer(&b) //错误
3,4两行无论是const还是非const变量的地址,对于指向常量的指针都无关紧要。
而第6行,把const变量的地址赋给常指针(可以修改值),类型转换某种意义上是削弱了,不能通过const变量的地址来修改值。
2017.2.15
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。