1.软文推荐

2.软文推荐

3.软文推荐

常量表达式是指在编译器编译时期就可以的到值的表达式,例如:const int a = 3,虽然听起来很简单,但实际上很容易犯错。本文简要总结它们的不同.

关于const:顶层const和底层const 一般,我们声明const用来存储不变的恒定量:

const int MAXN = int_max;

用指针指向:

const int *pMAXN = &MAXN;

这条语句开始的const int实际上是为了MAXN的类型做出的匹配,我们得到的pMAXN实际上是可修改的。

那么如何让 pMAXN 不可修改呢?

c++采用’双const‘的方法:

const int * const pMAXN = &MAXN;

这样,pMAXN成为了不可修改值的,指向MAXN的指针。

其中,可以修改值的const就被称为底层const,而不可修改值的称为顶层const。

const int *pMAXN = &MAXN;   //底层const
const int * const pMAXN = &MAXN; //左边底层const,右边顶层const
typedef的误区

很显然,当我们使用typedef的时候,const又产生了问题:

typedef char *pstring;
const pstring *ps;

在有上面的语句的基础上,这条语句是什么意思?

const pstring cstr = 0;

一般情况下,我们看到pstring就会直接去找它的定义,这种习惯是错误的!我们应该按照次序,先读这条语句。

首先,pstring加上了const修饰符,这代表定义的语句是const状态,是常量表达式。其次,pstring定义的是指向char类型的指针,所以,综上所述,这条语句声明了一个指向char的常量指针即,指针的值不可修改。

那这一条语句呢:

const char *cstr = 0;

它声明了一个指向const char类型的指针。指针的值可以修改。

本文来源:www.lxlinux.net/9896.html,若引用不当,请联系修改。

相关文章 8

1

HTML 元素使用实例 47秒前

HTML 文档是由 HTML 元素定义的。HTML 元素指的是从开始标签(start tag)到结束标签(end tag)的所有代码,下面为大家详细讲解一下HTML 元素...

2

美国信用卡怎么申请(美国信用卡怎么申请的) 2分钟前

目录:1、怎样办理VISA信用卡啊?2、美国留学如何办理信用卡3、怎么办理visa卡?4、VISA信用卡怎么申请5、在美国如何申请信用卡 在美国怎...

3

Linux 高性能服务 epoll 的本质,真的不简单 5分钟前

设想一个场景 :有100万用户同时与一个进程保持着TCP连接,而每一时刻只有几十个或几百个TCP连接是活跃的(接收TCP包),也就是说在每一时...

4

Linux搭建文件服务器 7分钟前

Linux如何搭建文件服务器?在一个团队或者公司层面上,做一个本地的文件服务器,将网上的资源下载到本地,是有必要的。这将节省其他人...

5

美国大带宽高防vps的简单介绍 8分钟前

目录:1、美国vps和香港vps的区别2、如何选择美国高防VPS服务器?3、求推荐个,美国高防VPS,300一个月以下的就好。4、哪家美国VPS便宜又稳...

7

Linux磁盘信息查看工具di 10分钟前

Linux下有很多磁盘信息查看的命令,如fdisk、df、du等,本篇文章大家分享一下Linux下查看磁盘信息:di命令使用方法。 di 磁盘信息工具 磁盘信...

8

站长工具在线(站长 工具) 12分钟前

目录:1、站长工具是什么,能干什么用?2、站长工具cdn?3、端口测试 站长工具?4、5g在线站长工具?5、站长工具平台?站长工具是什么,能...