文档章节

c/c++基础回顾-const

IT小伙
 IT小伙
发布于 2015/05/26 01:33
字数 355
阅读 35
收藏 0

1. 成员函数const修饰,相当于对该this指针const修饰,所以this指向的成员变量不能被修改(除mutable关键字修饰和static变量)

2. 成员const变量不能在声明的同时初始化,只能在类的构造函数中初始化(static const才可以)

3. 各种声明格式

  • const int a ;//a为常量值,不能被改变

  • int const a ;//如1,这种情况与修饰符的位置无关

  • const int *a ;//指针可变,指针指向的内容不可变

  • int* const a ;//指针不可变,指针指向的内容可变

  • int const* const a ;//指针和指针指向的内容均不可被改变

3. define声明常量相对const有很多缺点,声明定义常量用const更好,可避免类型检查等

4. typedef void* VP(typedef与define不一样,前者定义一个数据类型,后者只是一个别名用于替换),VP变成一个修饰符,例如const VP ptr就不能被替换成const void* ptr,使用VP时相当于char*为一个整体,表示的是这个指针只读,不能被修改,而指向的内容可以被修改,VP const ptr一样。

5. 函数参数用const修饰,避免传进的参数被修改

© 著作权归作者所有

IT小伙
粉丝 1
博文 9
码字总数 1773
作品 0
南充
程序员
私信 提问
const static在c c++中的作用

一.C语言中的const const是C语言中保留的一个关键字,它用来限定一个变量是只读的,即不可变的。程序中使用const可以在一定程度上提高程序的健壮性,但是程序中使用过多的const,可能在对代码...

y_x
2011/11/17
501
0
C/C++与Objective-C的区别(转载)

Objective-C,通常写作ObjC和较少用的Objective C或Obj-C,是扩充C的面向对象编程语言。所以有一定C/C++语言基础理解和掌握Objective-C也会相应的快些。这回,我们将比较着学习Objective-C语...

晨曦之光
2012/05/16
870
0
C语言编程学习:把相同或近乎相同的代码形成函数和宏

C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到...

小辰带你看世界
2018/05/16
0
0
SonarQube C/C++/Objective-C 4.2 发布

SonarQube C/C++/Objective-C 4.2 发布了,这是一个C/C++/Objective-C的插件,用于检查代码质量。 这个版本提供了以下的新规则: “nonnull” pointers should not be set to null (C, Bug) ...

局长
2016/10/06
1K
0
C++基础教程之构造函数与析构函数

构造函数 当我们需要在对象创建时初始化一些数据的时候,我们不可能提供一个普通的成员方法供程序猿在对象创建后调用。因为如果程序猿故意或者无意间忘记了调用该方法,就可能导致程序出现偏...

这个人很懒什么都没留下
2018/09/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

centos 查看删除旧内核

1、查看系统中安装的内核 $ yum list installed | grep kernel 2、删除系统中旧内核 $ yum install yum-utils$ package-cleanup --oldkernels --count=2...

编程老陆
6分钟前
0
0
ES6

ES6:不改变原理的基础上,让API变得更简单 一、let:代替var用于声明变量 1、var的缺点: (1)声明提前 (2)没有块级作用域 2、let的优点: (1)组织了申明提前 (2)让let所在的块({}),...

wytao1995
今天
3
0
kubernetes 环境搭建 —— minikube

创建集群 minikube start 搭建好 k8s 集群后,可以查看集群的状态以及部署应用。主要用到的是 k8s 的 api,这通常需借助于 kutectl 命令行工具 基本操作 kubectl versionkubectl cluster-i...

lemos
今天
9
0
关于js混淆与反混淆还原操作

使用js的混淆加密,其目的是为了保护我们的前端代码逻辑,对应一些搞技术吃饭的公司来说,为了防止被竞争对手抓取或使用自己的代码,就会考虑如何加密,或者混淆js来达到代码保护。 1、为什么...

开源oschina
今天
11
0
用盛金公式解三次方程(ansi c版)

/* cc cubic.c -lm gcc cubic.c -lm Shengjin's Formulas Univariate cubic equation aX ^ 3 + bX ^ 2 + cX + d = 0, (a, b, c, d < R, and a!= 0). Multiple root disc......

wangxuwei
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部