Mos*_*she 3 pointers initialization objective-c operators
在Objective-C中,我见过,例如:
UIPickerView *tweetPicker
Run Code Online (Sandbox Code Playgroud)
和
UIPickerView* tweetPicker
Run Code Online (Sandbox Code Playgroud)
星号是什么意思(我知道,第一部分是骗局......)为什么在不同的背景下它会在声明的不同部分进行?
Car*_*rum 14
在您展示的确切情况下,没有区别.有些人喜欢把tweetPicker它当作类型UIPickerView *,也就是指向a的指针UIPickerView.这些人通常把它写成
UIPickerView* tweetPicker;
Run Code Online (Sandbox Code Playgroud)
其他人更喜欢将其视为*tweetPickera UIPickerView,即取消引用指针给出的UIPickerView.那些人通常写道:
UIPickerView *tweetPicker;
Run Code Online (Sandbox Code Playgroud)
我更喜欢后者,因为C(和Objective-C因此)语法更好地支持它.举例来说,以下变量声明:
int* a, b, c;
int *a, *b, *c;
Run Code Online (Sandbox Code Playgroud)
乍一看,新手C(或Objective-C)程序员可能会说"那些是相同的",但他们不是.在第一种情况下,b并且c是常规整数,在第二种情况下,它们是指针. a在两种情况下都是指针.
从我的角度来看,无论如何,"类型"的概念在C中是如此弱(对于类型转换的行为等),将该概念进一步扩展到指针变量是疯狂的 - 特别是对于自动和静默转换为和来自void *或id你得到.
| 归档时间: |
|
| 查看次数: |
1240 次 |
| 最近记录: |