博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OOP 1.2 const关键字
阅读量:5886 次
发布时间:2019-06-19

本文共 750 字,大约阅读时间需要 2 分钟。

1.2 const关键字

1、常量 指针常量

定义常量:const 类型 =值

定义指针常量:const *类型=值

  • 常量指针不可通过常量指针修改其指向的内容
  • 可直接修改其指向的内容
  • 常量指针的指向可以变化
  • 不可以把常量指针赋值给非常量指针(语法规定:const指针指向的地方p1倾向于该处尽量不要修改,若赋值给非常量p2,则以后可以通过修改p2指向内容修改p1,产生不安全因素)
  • 可以把非常量指针赋值给常量指针
  • 可以用强制类型转化 把常量指针赋值给非常量指针
    e.g.
int n,m;const *p=&n;*p=5//illegal 常量指针不可通过常量指针修改其指向的内容n=4//OK 可直接修改其指向的内容p=&m;//OK 常量指针的指向可以变化
const int *p1;int *p2;p1=p2;//OK 可以把非常量指针赋值给常量指针p2=p1;//illegal 不可以把常量指针赋值给非常量指针p2=(int *)p1;//OK 强制类型转换 合法

2、实例:函数参数作为常量指针

  • 可避免函数内部不小心改变参数指针所指向的内容
    e.g.
void f(const char *p){    strcpy(p,"this");//illegal strspy传入的第一个参数为char* 型,用const char给其赋值为非法,编译器报错    printf("%s",p);//OK}

3、常引用

  • 不能通过常引用修改其引用的变量
    e.g.
int n;const int &r=n;r=5;//illegal 不能通过常引用修改其引用的变量n=4;//OK

转载于:https://www.cnblogs.com/fzu-031702148/p/8441587.html

你可能感兴趣的文章
Eclispe Java代码注释模板
查看>>
设置 SSH 通过密钥登录
查看>>
leadtools
查看>>
仿百度搜索框自动完成提示功能
查看>>
PHP的学习--Traits新特性
查看>>
GnuPG如何安全地分发私钥(5)分发我的私钥(+签名)
查看>>
高性能golang后端处理网络模块包
查看>>
android面试题
查看>>
test
查看>>
郭宇:Airpub - 纯前端博客引擎实践
查看>>
Progress Image View
查看>>
GHGLUtils
查看>>
开源 免费 java CMS - FreeCMS1.5-数据对象-job
查看>>
开源 java CMS - FreeCMS2.3字典管理
查看>>
开源 java CMS - FreeCMS2.4 模板管理
查看>>
理解HTTP session原理及应用
查看>>
JNI学习积累之三 ---- 操作JNI函数以及复杂对象传递
查看>>
maven环境快速搭建
查看>>
什么是单链表插入排序?
查看>>
mycncart 商品筛选 filter 模组设定教程
查看>>