C++-objective-C中&符号意义?
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
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;
这里的“&”其实还是取地址操作符,跟C++里面是一样的。
这里传的是error的地址,这样如果有错误,error的值就会改变,由于都是同一个地址,所以调用函数就能知道是否出错了,出了什么错误。下面的这个链接应该对你理解有帮助的:
对该问题的一个详细点的回答