北京高端购物中心/商场美陈设计优选榜:3家创意公司力荐

核心内容摘要

Vue3 混入:深入�解组件间的数�共享��用
成都高新区一般纳税人代账价格:定价逻辑与影响因素深度解析

Web毕业设计常见报错汇总(无代码版):避开这些坑,开发效率翻倍

指针是一个变量存的是地址引用是一个别名本质是被引用对象本身。

本质区别对比点指针Pointer引用Reference本质一个变量另一个变量的别名是否占内存有独立内存通常不单独占编译器实现是否可为空可以nullptr必须绑定对象是否可改指向可以一旦绑定不能再换是否必须初始化可以先定义后赋值必须初始化使用方式*p解引用直接当原变量用语法层面对比指针int a 10; int* p a; *p 20; // 修改 a cout a; // 20特点p是变量p里存的是a的地址访问对象必须*p引用int a 10; int r a; r 20; // 修改 a cout a; // 20特点r不是新对象r就是a用法和普通变量一样内存层面理解指针的内存示意int a 10;int* p a;a: 10p: aa占 4 字节p也占 8 字节64 位系统引用的内存示意int a 10;int r a;a (r): 10r没有独立身份编译器内部把r当作a引用在汇编层面通常被优化成直接访问原变量能不能为 null指针可以int* p nullptr;常用于表示“暂时不指向任何对象”链表、树、可选对象引用不行int r; // ❌ 编译错误能不能“改绑”指针可以改指向int a 1, b 2; int* p a; p b; // 改指向 b引用不能改绑int a 1, b 2; int r a; r b; // ❌ 不是改绑定这行代码的含义是把 b 的值赋给 a绑定关系仍然是r - a函数参数中的区别指针传参void func(int* p) { if (p) *p 100; } int a 10; func(a);特点需要传地址可能为空要判空更底层、更灵活引用传参void func(int x) { x 100; } int a 10; func(a);特点语法更自然不用判空更安全C 推荐能用引用就用引用什么时候用指针什么时候用引用用引用的场景函数参数返回值不为 null表达“别名关系”不希望对象为空用指针的场景可能为空需要动态内存需要重新指向数据结构链表、树

17cn.cn网页-17cn.cn网页应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123