我是靠谱客的博主 简单蜗牛,最近开发中收集的这篇文章主要介绍C++读书笔记—常量指针的使用注意点,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在使用常量指针时,应该要明确以下3个问题:

● 指针 (地址) 本身是常量?

● 指针所指向的内容是常量?

● 指针本身和所指向的内容是常量?

常量指针通常有以下几种形式:

(1) char * const a;

(2) char const *a;

(3) const char  *a;

(4) const char  *const a;

第(1) 种形式表示字符指针a本身是常量,但是a所指向的内存空间数据是可以改变的,这种定义方式,注意定义时一定要初始化

第(2) 种形式表示字符指针a所指向的内存空间数据是常量,不可以改变,但是指针的本身是可以改变的

第(3)种形式与第(2)种形式相同。

第(4)形式表示字符指针a本身是常量,但是a所指向的内存空间数据也是常量,这种形式定义时一定要初始化。

示例:

/******************************
  常量指针程序分析
*******************************/
#include <iostream>
using namespace std;
int main()
{
char ch1 = 'a';
char ch2 = 'b';
char const *p_ch;
p_ch = &ch1;

cout << *p_ch << endl;

p_ch = &ch2;
cout << *p_ch << endl;

*p_ch = 'c';
cout << *p_ch << endl;
return 0;

}

编译之后会出现错误:

  In function ‘int main()’:

  错误:assignment of read-only location

出现错误的原因便是*p_ch的值改变了,但是*p_ch的地址是可以改变的

最后

以上就是简单蜗牛为你收集整理的C++读书笔记—常量指针的使用注意点的全部内容,希望文章能够帮你解决C++读书笔记—常量指针的使用注意点所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部