有没有专做水果网站,推广公众号有哪些方法,手机网站建设北京,在线logo设计生成器免费问题一#xff1a;指针与引用的区别
疑问 为什么引用的本质是指针常量#xff0c;但是对它求sizeof却是变量所占内存空间的大小那#xff1f;#xff1f;#xff1f;#xff1f;#xff1f;#xff1f;#xff1f;#xff1f;#xff1f;#xff1f;
1.引用是给变…问题一指针与引用的区别
疑问 为什么引用的本质是指针常量但是对它求sizeof却是变量所占内存空间的大小那
1.引用是给变量起了个别名而指针本身是个变量储存变量的地址
2.引用必须初始化但指针变量可以不初始化为野指针
3.引用不能初始化为空但是指针可以初始化为空为空指针
4.引用的本质是指针常量所以不能改变引用关系但是指针可以改变指向
5.用引用接收传递过来的参数可以不判空但是指针必须判空
6.没有多级的引用俩个是右值引用不是多级引用但是又多级指针
7.引用所占空间的大小就是它起别名变量的大小但是指针所占空间的大小不是4字节就是8字节看编译环境
8.引用自增后相当于变量的自增但是指针自增后相当于p的指向向后偏移了它存储类型所占空间大小那么长
问题二c中static的作用
1.C/C共有的 1.静态全局变量可以使作用域缩小变为同一个文件下 2.静态局部变量可以使声明周期变长不会随着函数的结束而结束 3.静态全局函数也是可以使作用域缩小变为同一个文件下 2.C独有的
静态成员变量 1.存储再静态区不占对象内存 2.属于类不属于对象所有对象共享一份静态成员变量 3.类内声明类外初始化 4.可以通过类名或者对象名进行调用 5.分配内存在编译阶段主函数之前 静态成员函数 1.存储在代码段不占对象内存 2.属于类不属于对象 3.没有this指针所以不能访问静态成员变量也不能调用静态成员函数 4.能访问的只有传递过来的形参静态成员变量和函数以及全局变量和全局函数 5.俩种访问方式对象名或者是类名 静态函数的好处和静态全局变量一样都是别的文件不可以访问在不同文件下定义相同的名字不会发生冲突
深层
1.为什么静态成员函数不能申明为const 使用const函数的目的是不想让在常函数内部修改成员变量的值但是我静态成员函数已经没有this指针了肯定不会改变非静态成员变量的值了也就不用担心这个问题 2.为什么静态成员变量要类内定义类外初始化那 因为静态成员变量属于类不属于对象所以如果在类内初始化的话岂不是每一个对象都拥有了一份静态成员变量这不就矛盾了吗所以静态成员变量必须类内声明类外初始化 3.static关键字为什么只能出现在类内部的声明语句中而不能重复出现在类外的定义中 类出现的目的就是多文件之间的交互你把这个类static了作用域变成本文件了还咋交互了 4.为什么常量静态成员数据的初始化可以放在类内注意只有静态常量整型数据成员才可以在类中初始化 疑问不懂 5.为什么静态成员函数只能访问静态成员变量 因为静态成员函数没有this指针无法访问非静态成员所以只能访问静态成员 6.静态成员函数与非静态成员函数的区别 我认为只要的区别是this指针 7.为什么要用得静态成员变量和静态成员函数 因为静态成员函数和静态成员变量都是属于类不属于对象多个对象共享一份可以共享 本文章参考c中static的作用_static在c中的作用-CSDN博客
用自己的话回答了该作者在文件提出的问题
问题三智能指针