ios - 为什么对象有一个指针而不是一个整数?

标签 ios objective-c pointers

如果我们输入

MyObject *obj = [[MyObject alloc] init];

“obj”是指向内存地址的指针。

...当我们创建一个 int 时,我们输入:

int x = 10; 

我们为什么不打字?

int *x = 10; 

问题是,为什么我们需要一个指向对象的指针而不是 int、float 等...

最佳答案

效率。

将一个整数从一个地方移动到另一个地方很容易。移动对象需要 CPU 做更多的工作。移动对象的地址就像移动 int 一样简单。

在纯 C 中,出于同样的原因处理指向结构的指针是很常见的。 C 使用 -> 运算符使它变得简单。

关于ios - 为什么对象有一个指针而不是一个整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15676862/

相关文章:

ios - uniqueUnionOfObjects更改数组的顺序

ios - 如何在spritekit中录制游戏场景

C++ 继承 : Templates Vs Pointers

代码在 Windows 中有效,但在 Linux 中无效!为什么? 【简单的指针问题】

ios - 在提交之前将链接添加到我的iPhone应用程序(“第22章”)

ios - 在 TableView 中仅显示一次 json 数组中的重复元素 swift

objective-c - 将 const char* 转换为 NSString * 并转换回来 - _NSAutoreleaseNoPool()

objective-c - 从 UIView 动画 block 中的动画中排除某些 Action ?

iphone - 使用 Interface Builder 进行 Controller 通信时的 Objective C 最佳实践?

C 编程 - 结构、指针和初始化