C++-objective-C中&符号意义?

发布于 2016-10-27 05:10:59 字数 457 浏览 1323 评论 2

NSFileManager *fileManager = [NSFileManager defaultManager];
NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentDir = [documentPaths objectAtIndex:0];
NSError *error = nil;
NSArray *fileList = [[NSArray alloc] init];
fileList = [fileManager contentsOfDirectoryAtPath:documentDir error:&error]; //这里的&有什么用途呐?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

瑾兮 2017-05-16 16:09:59

OBJECTIVE-C中的&符号的意义看下面的代码就知道了:

#import <Foundation/Foundation.h>

int main(int argc, char *argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

int intVariable = 10; //定义一个整形变量,名为intVariable
int *intPointer = &intVariable; //定义一个整形类型的指针,名为intPointer, 并将intVariable的地址指向

NSLog(@”intVariable: %i”, intVariable);
NSLog(@”intPointer: %i”, *intPointer); //获取指针类型的值,指针名称前面加*号

intVariable += 5; //改变intVariable的值
NSLog(@”intVariable: %i”, intVariable);
NSLog(@”intPointer: %i”, *intPointer); //指针指向,当前intVariable的值是什么,就会获得到是什么值

*intPointer += 5; //改变intPointer的值
NSLog(@”intVariable: %i”, intVariable); //在对应指针类型的操作,即时反应其值
NSLog(@”intPointer: %i”, *intPointer);

//获取指针地址的方法
//方法1
NSLog(@”Address: %i”, intPointer); //指针直接输出地址

//方法2
NSLog(@”Address: %i”, &intVariable); //变量前加&号可以获取指针地址

[pool drain];
return 0;
}

定义指针时,需要使用*符号,例如: int *IntPointer; ObjectName *objectPointer;
获取类型的指针,需要在变量名前面加&符号,例如:intPointer = &intVariable;
获取指针的值时,需要在指针名前面加*符号,例如:int currentVariable = *intPointer;

清晨说ぺ晚安 2017-04-07 09:53:49

这里的“&”其实还是取地址操作符,跟C++里面是一样的。
这里传的是error的地址,这样如果有错误,error的值就会改变,由于都是同一个地址,所以调用函数就能知道是否出错了,出了什么错误。下面的这个链接应该对你理解有帮助的:
对该问题的一个详细点的回答

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文