当前位置: 首页 > java >正文

《C++》范围 for 循环,空指针nullptr

文章目录

  • 一、范围for循环
    • 1.1定义
    • 1.2基本语法
    • 1.3注意事项
    • 1.4优势:
  • 二、nullptr

一、范围for循环

1.1定义

C++的范围for循环是C++11引入的一种简化循环语法,用于遍历容器(如数组、vector、string等)或其他可迭代对象中的元素,语法更简洁直观。

1.2基本语法

for (迭代的变量 : 可迭范围) {// 循环体,使用元素变量访问当前元素
}

示例

int arr[] = {1, 2, 3, 4};
for (int num : arr) {  
// 遍历数组arr中的每个元素,存入numcout << num << " ";  // 输出:1 2 3 4
}

注意:修改元素(使用引用)
若需要在循环中修改元素,需用引用(&) 接收元素:
示例:

 
vector<int> nums = {1, 2, 3};
for (int& num : nums) {  // 引用传递,可修改原元素num *= 2;
}
// 此时nums变为 {2, 4, 6}

1.3注意事项

①for循环迭代的范围必须是确定的。
②迭代的对象要实现++和==的操作。

1.4优势:

①语法更简洁,代码更精炼,可读性更高。
②减少出错概率,专注于逻辑本身。
③结合auto更灵活,通用性强。

二、nullptr

在C++中,空指针不再像C语言使用空指针NULL那样包含头文件,而是可以直接使用nullptr作为空指针。

在C++11中,sizeof(nullptr) 与 sizeof((void*)0)所占的字节数相同

http://www.xdnf.cn/news/15964.html

相关文章:

  • RSTP协议
  • HOT100——图篇Leetcode207. 课程表
  • Linux C 多线程基本操作
  • 【LuckiBit】macOS/Linux 常用命令大全
  • Mac上安装Claude Code的步骤
  • 完整的 SquareStudio 注册登录功能实现方案:已经烧录到开发板正常使用
  • OpenCV中特征匹配算法GMS(Grid-based Motion Statistics)原理介绍和使用代码示例
  • ZooKeeper学习专栏(三):ACL权限控制与Zab协议核心原理
  • 基于ECharts的电商销售可视化系统(数据预测、WebsSocket实时聊天、ECharts图形化分析、缓存)
  • CMake与catkin_make的find_package()命令使用说明
  • java和ptyhon对比
  • 多片RFSoC同步,64T 64R
  • 网络数据编码技术及其应用场景的全面解析
  • Spring Boot注解详解
  • 抽象类不能实例化原因
  • 自反馈机制(Self-Feedback)在大模型中的原理、演进与应用
  • ANSYS 2025 R1软件下载及安装教程|附安装文件
  • Dynamics 365 Contact Center是什么
  • 【Elasticsearch】settings
  • 【图论】CF——B. Chamber of Secrets (0-1BFS)
  • 讯飞输入法3.0.1742功能简介
  • node.js 为什么要装 express组件
  • DevCon 6记录
  • 数据库和数据仓库的区别
  • 轮状太空城的科学依据浅谈
  • ROS 与 Ubuntu 版本的对应关系
  • 热室机械手市场报告:智能装备推动高温制造自动化升级
  • 文远知行推出与联想共研的100%车规级HPC 3.0计算平台
  • 图立得-html纯前端图片拾色器V202507
  • [论文阅读] 人工智能 | ZipMPC:让短视的MPC拥有长远眼光——通过模仿学习压缩长 horizon 智慧