我在网上看到一个面试题,不理解他的意思,有谁能帮我解释一下吗,如下所示:
3.还是考指针,不过我对cocoa的代码还是不太熟悉
大概是这样的
-(void)*getNSString(const NSString * inputString)
{
inputString = @"This is a main test\n";
return ;
}
-main(void)
{
NSString *a=@"Main";
NSString *aString = [NSString stringWithString:@"%@",getNSString(a)];
NSLog(@"%@\n", aString);
}
最后问输出的字符串:NULL,output在函数返回后,内存已经被释放。
Main函数里的代码好理解,关键是那个getNSString函数不好理解,函数名- (void)*getNSString(const NSString * inputString)
-(void)*是什么作用,是返回值吗,如果是他代表什么含义,其次,inputString是const的,函数体里却改变了,这不会报错吗?谁能解释一下
getNSString什么都没返回,当然是null了,void用在方法前,表示不返回任何值
这是什么写法,都编译不过的