[C++专栏]const和指针,星号的位置和效果总结
发布日期:2021-05-28 16:50:12 浏览次数:25 分类:精选文章

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

实验概述

本实验旨在验证const关键字对指针指向和指向内容的影响,重点研究const关键字如何影响左边的关键字。当const位于最左侧时,它不仅会影响右侧的指针内容,更会带来潜在的内存地址相关问题。

代码示例

#include "stdafx.h"#include 
using namespace std;unsigned int MAX_LEN = 11;int main() { int num = 11; char alpha = 'a'; char strHelloworld[] = { "helloworld" }; char const* pStr1 = "helloworld"; char* const pStr2 = strHelloworld; char const* const pStr3 = "helloworld"; int const* const pInt = # char const* const pChar = α
//操作结果输出cout << "content of string:" << endl;cout << strHelloworld << endl;cout << "address of string:" << endl;cout << &strHelloworld << endl;//pStr1的内容不可变//pStr2和pStr1指向相同แห�️//pStr3的内容不可变

}

实验结果本实验发现,当pStr1 = strHelloworld完成后,pStr2和pStr1的指向相同,这意味着修改一个会影响另一个指针的内容。这种行为类似于一个指针陷阱,容易让开发者误以为指针的内容是独立的。一个比较大的坑当pStr1 = strHelloworld执行后,pStr2和pStr1的指针指向相同地址。虽然pStr1的内容不可变,但由于pStr2拥有修改权限,其修改会间接影响pStr1的内容。这种潜在的内存管理问题可能导致严重的数据错误,必须特别注意指针的传递和可变性问题。
上一篇:[C++专栏]数组的指针和指针数组
下一篇:Unity3d 发布Linux系统(ubuntu)程序并运行

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年04月17日 04时03分27秒