网站关键词添加多少个网页制作与网站开发模板
2026/2/8 11:29:21 网站建设 项目流程
网站关键词添加多少个,网页制作与网站开发模板,wordpress手机站h5优化,湘西网站建设吧1.引用的基本定义与核心特性 2.引用的常见用法 3.引用 vs 指针1.引用的基本定义与核心特性 c中引用是变量的别名, 就像一个人有本名和外号, 引用和原变量指向同一块内存地址, 操作引用就等同于操作原变量1).语法格式// 语法#xff1a;类型 引用名 原变量名…1.引用的基本定义与核心特性2.引用的常见用法3.引用 vs 指针1.引用的基本定义与核心特性c中引用是变量的别名,就像一个人有本名和外号,引用和原变量指向同一块内存地址,操作引用就等同于操作原变量1).语法格式// 语法类型 引用名 原变量名;inta10;intraa;// ra是变量a的引用别名是引用标识符, 必须和类型写在一起2).核心特性 a.必须初始化 声明引用时,必须绑定到一个已存在的变量,不能悬空b.不可改绑 初始化后,引用永远指向最初绑定的变量,无法切换指向 c.引用无独立内存,引用本身不占用额外内存,只是变量的别名;不能引用NULL,必须绑定有效变量,不像指针可以指向NULL2.引用的常见用法1).基础用法:操作引用操作原变量#include iostreamusingnamespacestd;intmain(){intnum100;intref_numnum;// 定义num的引用// 操作引用原变量也会变ref_num50;coutnum numendl;// 输出num 150coutref_num ref_numendl;// 输出ref_num 150coutnum numendl;// 输出num的地址coutref_num ref_numendl;// 输出和num相同的地址return0;}2).引用作为函数参数 核心优势:避免值传递的拷贝开销(尤其对大对象,如类、数组),同时比指针更简洁、安全(无需解引用*)#include iostreamusingnamespacestd;// 1. 值传递拷贝新变量修改不影响原变量voidchangeByValue(intx){x200;}// 2. 指针传递修改原变量但需要解引用语法稍繁琐voidchangeByPointer(int*x){*x200;}// 3. 引用传递修改原变量语法简洁无拷贝voidchangeByReference(intx){x200;}intmain(){inta100;changeByValue(a);cout值传递后aendl;// 输出100无变化changeByPointer(a);cout指针传递后aendl;// 输出200有变化a100;// 重置changeByReference(a);cout引用传递后aendl;// 输出200有变化return0;}3).常引用(const引用):只读的别名, 如果不想通过引用修改原变量, 可以用const修饰引用a.禁止通过常引用修改原变量(原变量本身仍可修改)b.可以绑定常量、临时值(普通引用不行)#include iostreamusingnamespacestd;intmain(){inta100;constintconst_refa;// 常引用只读// const_ref 200; // 错误常引用不能修改原变量a200;// 允许原变量本身可改const_ref会同步变化coutconst_refendl;// 输出200// 常引用可以绑定临时值普通引用不行constinttemp_ref1020;couttemp_refendl;// 输出30return0;}4).引用作为函数返回值 注意:绝对不能返回局部变量的引用(局部变量在函数结束后销毁, 引用会悬空, 导致未定义行为)正确用法:返回全局变量、静态变量或类成员的引用(生命周期长的变量)#include iostreamusingnamespacestd;// 全局变量生命周期贯穿程序intglobal_num100;// 返回全局变量的引用intgetGlobalNum(){returnglobal_num;}// 错误示例返回局部变量的引用禁止intgetLocalNum(){intlocal_num200;returnlocal_num;// 函数结束后local_num销毁引用悬空}intmain(){// 正确用法通过返回的引用修改全局变量getGlobalNum()300;coutglobal_numendl;// 输出300return0;}3.引用 vs 指针

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询