Objective-C 中的逗号



我刚刚在另一个问题中看到了这一点,并认为逗号一定是错别字

[controller release], controller = nil; 

我使用的是 ARC,所以没有使用 release ,但我自己用以下代码对其进行了测试,发现它编译并运行良好。

NSObject *a = [NSObject new];
[a copy], a=nil;

我的印象是逗号仅用于分隔列表和相同类型的多个分配:

NSArray *a = @[@"1", @"two", /*etc*/]; 
int a, b, c, d;

实际问题:

它是否像:逗号可用于分隔命令一样简单?还有其他规则吗?

号运算符是一种 C 语言结构。

来自维基百科:

在 C 和C++编程语言中,逗号运算符 (由令牌表示)是一个二进制运算符,用于计算其 第一个操作数并丢弃结果,然后计算第二个操作数 操作数并返回此值(和类型)。逗号运算符具有 任何 C 运算符的最低优先级,并充当序列点。这 逗号令牌作为运算符的使用不同于其在 函数调用和定义、变量声明、枚举 声明和类似的构造,其中它充当分隔符。

在您的代码中,逗号用作分号的替换。如果在示例中使用 ,;,则没有区别。

有关详细信息,请参阅此问题:在 C 和 C++ 中使用逗号而不是分号的效果

相关内容

  • 没有找到相关文章