news 2026/5/3 21:36:44

C++指针基础使用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C++指针基础使用

指针的基本概念

指针是C++中一种特殊的变量,用于存储内存地址。通过指针可以直接访问和操作内存中的数据,提高程序的灵活性和效率。

声明和初始化指针

指针的声明需要指定所指向的数据类型,并使用*符号。初始化时可以将其指向一个变量的地址。

int num = 10; int *ptr = # // ptr指向num的地址

指针的解引用

通过*操作符可以访问指针所指向的值。

int value = *ptr; // value现在等于10

指针的算术运算

指针支持加减运算,移动的步长取决于所指向的数据类型大小。

int arr[3] = {1, 2, 3}; int *ptr = arr; // 指向数组首元素 ptr++; // 现在指向arr[1]

指针与数组

数组名本身是一个指向数组首元素的指针。

int arr[3] = {10, 20, 30}; int *ptr = arr; // 等同于ptr = &arr[0]

动态内存分配

使用newdelete操作符可以动态分配和释放内存。

int *ptr = new int; // 动态分配一个int *ptr = 5; delete ptr; // 释放内存 int *arr = new int[10]; // 动态分配数组 delete[] arr; // 释放数组内存

指针与函数

指针可以作为函数参数,实现传址调用。

void increment(int *p) { (*p)++; } int num = 5; increment(&num); // num变为6

指针的安全问题

未初始化的指针或悬垂指针可能导致程序崩溃或未定义行为。

int *ptr; // 未初始化,危险 *ptr = 10; // 未定义行为

智能指针

C++11引入了智能指针(如std::unique_ptrstd::shared_ptr),自动管理内存生命周期。

#include <memory> std::unique_ptr<int> ptr = std::make_unique<int>(10);

指针与多级间接

可以使用指向指针的指针实现多级间接访问。

int num = 10; int *ptr = # int **pptr = &ptr; // 指向指针的指针
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/3 21:32:40

ai辅助开发:利用快马平台智能分析与优化yolov8网络结构图

今天想和大家分享一个特别实用的AI辅助开发经验——如何用InsCode(快马)平台来智能分析和优化YOLOv8网络结构图。作为经常需要调整模型结构的算法工程师&#xff0c;这个工具真的帮我省去了大量手动调参的时间。 上传结构图自动解析 在平台上传YOLOv8的.yaml结构文件或可视化图…

作者头像 李华
网站建设 2026/5/3 21:23:25

Anaconda卸载不干净?试试官方推荐的anaconda-clean工具(Windows/Mac通用)

Anaconda彻底卸载指南&#xff1a;官方anaconda-clean工具详解 每次重装Anaconda时最头疼的就是卸载不彻底&#xff0c;残留文件导致新版本安装失败或者运行异常。作为Python数据科学领域的标配工具&#xff0c;Anaconda的完整卸载确实需要特殊处理。官方推荐的anaconda-clean工…

作者头像 李华
网站建设 2026/5/3 21:19:26

初次接触大模型API的开发者如何通过Taotoken文档快速完成集成

初次接触大模型API的开发者如何通过Taotoken文档快速完成集成 1. 从零开始的接入体验 作为一名刚接触大模型API的开发者&#xff0c;我最初对如何选择合适的模型和接入方式感到困惑。通过搜索引擎发现Taotoken平台后&#xff0c;其文档结构清晰的特点立刻吸引了我的注意。平台…

作者头像 李华
网站建设 2026/5/3 21:18:31

Windows内存优化神器Mem Reduct:3分钟让卡顿电脑重获新生

Windows内存优化神器Mem Reduct&#xff1a;3分钟让卡顿电脑重获新生 【免费下载链接】memreduct Lightweight real-time memory management application to monitor and clean system memory on your computer. 项目地址: https://gitcode.com/gh_mirrors/me/memreduct …

作者头像 李华