这是否可以通过使用(*name) NSObject来增加++?例如,如果它是int,则可以使用
int *i; (*i)++;但是如果是NSObject,我们如何增加指针呢?
myClass* p1=array[0];
myClass* p2=array[10];
MyClass* temp=p1;
(*p1)++; //Here an error happen发布于 2014-01-17 16:07:18
这一行:
int *i; (*i)++;工作,因为i是指向int中的指针。(*i)++意味着获取i指向的对象(这是一个int)并增加它。因为您可以增加一个int,所以这是可行的。
现在剩下的问题是:
myClass* p1=array[0];表示p1是指向myClass对象的指针。
以及:
(*p1)++;意味着获取p1指向的对象(这是一个myClass实例)并增加它。但是,增加一个对象是没有意义的;所以这是行不通的。
你到底想做什么?
发布于 2014-01-17 16:04:44
我认为您不能像这样增加对象类型,因为编译器不知道如何使用来增加对象。但是,您绝对可以使用原语类型(如int和float )来完成这个任务。
然而,:您可以实现一个for循环来多次增加对象上的属性,或者使用像+=这样的操作符来递增一次。同样,这只能在基本类型上完成。
https://stackoverflow.com/questions/21190216
复制相似问题