news 2026/11/1 8:19:10

内联函数、auto、范围for、nullptr

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
内联函数、auto、范围for、nullptr

知识点6

内联函数:就是将常用的函数直接展开,没有建立栈帧的开销,提升运行效率。用 inline 修饰要内联的函数即可。inline 对编译器只是建议,不一定执行。一般将规模小、非递归且频繁调用的函数内联。inline 不建议声明和定义分离,分离会导致链接错误。因为 inline 被展开,就没有函数地址了,链接就会找不到。

知识点7

auto 关键字:可以理解为类型自动识别,可用与类型难写或推导式含义模糊时。可与指针和引用结合起来用;当在同一行定义多个变量时,这些变量必须是同一类型的,否则会报错。auto 不能做函数参数类型,不能声命数组。

void Testauto() { auto a = 1, b = 2; auto c = 3, d = 4.0; //该行代码会编译失败,因为编译器会对第一个变量类型进行推导, //然后定义第二个变量。 }

知识点8

基于范围的 for 循环:for 循环后的括号由冒号“:”分为两部分:第一部分是范围内用于迭代的变量,第二部分表示被迭代的范围。

void TestFor() { int array[] = { 1, 2, 3, 4, 5 }; for (int i = 0; i < sizeof(array) / sizeof(array[0]); ++i) array[i] *= 2; for (int* p = array; p < array + sizeof(array)/ sizeof(array[0]); ++p) cout << *p << endl; } //用 auto 可写为 void TestFor() { int array[] = { 1, 2, 3, 4, 5 }; for(auto& e : array) //加上引用便于修改值,类似传值 e *= 2; for(auto e : array) cout << e << " "; return 0; }

知识点9

指针空值:NULL被定义为字面常量0,显示数据类型时为 int;所以为了在给指针初始化时方便,C++11将 nullptr 作为新关键字引入来做指针空值。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/1 8:18:34

ponytail:轻量级内容锚点的技术原理与工程落地

1. 项目概述&#xff1a;从“ponytail”这个词出发&#xff0c;我们到底在聊什么&#xff1f;“ponytail”这个词&#xff0c;最近在多个生活类、时尚类、甚至短视频平台的搜索热榜上反复出现&#xff0c;但它绝不是单纯指代“马尾辫”这个发型本身。如果你只把它理解成一个基础…

作者头像 李华
网站建设 2026/10/28 21:53:30

Windows 10 1803安全基线:策略拆解、工具导入与自检全指南

简介&#xff1a;面向IT安全运维、系统管理员及政企终端管理人员的Windows 10 1803安全基线检查资源&#xff0c;围绕微软RS4安全基线规范整理&#xff0c;用于解决终端系统安全配置缺失、合规性难以落地等问题。压缩包共72个文件&#xff0c;以xml检查规则、admx/adml组策略模…

作者头像 李华
网站建设 2026/10/28 20:58:20

Python迭代器协议:从for循环到生成器,彻底理解一次性数据流

我用了好几年 Python&#xff0c;for循环闭着眼睛都能写。直到有一天&#xff0c;我把同一个变量放进两个for循环里&#xff0c;第一次跑得好好的&#xff0c;第二次循环体里一片空白。当时同事说了一句话&#xff1a;“你拿到的是一个迭代器&#xff0c;迭代器是一次性的。”我…

作者头像 李华
网站建设 2026/10/25 15:38:48

TS码流分析工具实战:从188字节包到PAT/PMT与PCR排错

简介&#xff1a;一款面向数字电视开发与初学者的 TS 码流分析工具&#xff0c;适合需要快速掌握传输流结构的工程师、学生或运维人员。软件以 Tree 树形结构直观展示 PAT、PMT、SDT、EIT 以及 Subtitle 的 PES 包&#xff0c;树结构与 SI 数据一一对应&#xff1b;除常规 SI 解…

作者头像 李华