gpt4 book ai didi

objective-c - Objective-C 中 typeof、__typeof 和 __typeof__ 的区别

转载 作者:IT老高 更新时间:2023-10-28 11:28:44 31 4
gpt4 key购买 nike

在 Objective-C 中,我经常在处理 block 等时使用 __typeof__(obj)。为什么不用 __typeof(obj)typeof(obj).

什么时候用哪个?

最佳答案

__typeof__()__typeof() 是 C 语言的特定于编译器的扩展,因为标准 C 不包括这样的运算符。标准 C 要求编译器在语言扩展前加上双下划线(这也是为什么你永远不应该为自己的函数、变量等这样做)

typeof() 完全相同,但在理解每个现代编译器都支持它的情况下将下划线抛出窗口。 (实际上,现在我想起来了,Visual C++ 可能不支持。虽然它确实支持 decltype(),但它通常提供与 typeof() 相同的行为。)

这三个意思相同,但都不是标准的 C,因此符合标准的编译器可能会选择使任何意思有所不同。

关于objective-c - Objective-C 中 typeof、__typeof 和 __typeof__ 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14877415/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com