这个问题是对
What is &&& operation in C的回应,这让我想到了&被用作二进制AND和地址.
为什么这些非常不同的任务使用相同的符号?在考虑它时,@似乎是一个更好的符号地址.
我不认为它会在实践中引起太多问题,因为编译器可能会捕获大多数错误的用法,但它可能会创建涉及宏的代码,看起来它正在执行二进制AND而它实际上正在执行地址.
解决方法
@未被用于“地址”的原因(正如你所建议的那样是一个不错的选择)是该角色不是
ISO 646 character set的一部分,它实际上是在C的早期使用的.
虽然C的设计师确实可以使用@并为它设计一个三字形序列,但我怀疑他们觉得这不值得麻烦.事实上&&&可能出现在人们的代码中可能不足以选择不同的运算符符号.