【Objective-C】类与结构体的区别
来源:互联网 发布:电脑自动打开软件 编辑:程序博客网 时间:2024/05/24 05:51
- 只能在类里面写方法,不能在结构体里面写方法
- 类——对象,结构体——值
- 类——引用类型
- 位于栈上的指针(引用)
- 位于堆上的实体对象
- 结构体——值类型
- 实例直接位于栈中
- 拷贝行为:
- classname *a = b; a和b都是指针(指针存储在栈上),都指向同一个对象(对象存储在堆中),对象的值改变,a和b同时改变
- structname a = b; 进行的是值拷贝(复制值后存储在栈上),如果改变b的值,a的值不会跟着改变
- 传参行为:
- 传参的本质上就是拷贝,因为对象传入的是指针,所以值改变的函数调用完毕之后,对象的值会改变,而结构体的值不会改变(因为结构体是值传递)
- 在main函数调用子函数的时候,系统会为子函数建立一个栈,对象传参后存放的是引用(指针),结构体传参后存储的是结构体的值的拷贝
0 0
- 【Objective-C】类与结构体的区别
- 结构体和类的区别 (objective c)
- C++-类与结构体的区别
- c、c++、c# 结构体与类的区别
- C/C++结构体的区别 C/C++结构体与类的区别
- C/C++结构体的区别 C/C++结构体与类的区别
- C与C++结构体的区别
- C与C++的结构体区别
- C与C++结构体的区别
- 使用_ObjectiveCBridgeable协议实现Objective-C类与Swift结构体的无缝互转
- 使用_ObjectiveCBridgeable协议实现Objective-C类与Swift结构体的无缝互转
- C与C++中结构体的区别,C++中结构体和类的区别
- objective-c学习笔记第三章《objective-c循环结构与java中的区别》
- C结构体与C++结构体的区别&&C++结构体与C++类的区别
- C结构体与C++结构体的区别以及C++结构体与C++类的区别
- Objective-C与Java类的一些区别
- Objective-C 与 C++ 的区别
- Objective-C 与 C++ 的区别:
- C#:去掉dataGridView行前面的三角符合
- 解决双硬盘安装Ubuntu选择启动菜单后黑屏的问题
- 判断一个数和这个数的重组对8是否能整除的题
- JavaScript趣题:帮邮递员分类地址
- Build Your First App(a)
- 【Objective-C】类与结构体的区别
- 游戏output方式
- 206. Reverse Linked List
- 主席树(静态区间第k大)
- 【BZOJ3879】SvT,后缀数组+单调栈维护sum
- 【转载】VB与FLASH的交互
- VB百例中遇到的各种问题
- 几个可以加快系统开机时间的设置
- 【转载】怎样恢复误删文件