首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >typeof,__typeof和__typeof__之间的区别是什么?

typeof,__typeof和__typeof__之间的区别是什么?
EN

Stack Overflow用户
提问于 2018-04-17 08:02:16
回答 2查看 0关注 0票数 0

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

何时该使用哪个呢?

EN

回答 2

Stack Overflow用户

发布于 2018-04-17 16:03:44

__typeof__()并且__typeof()是C语言的编译器专用扩展,因为标准C不包含这样的运算符。标准C要求编译器用双下划线前缀语言扩展(这也是为什么你不应该为自己的函数,变量等做这些)

typeof()是完全一样的,但将下划线抛出窗外,并理解每个现代编译器都支持它。(实际上,现在我想到了,Visual C ++可能不会,它支持,decltype()但它通常提供与。相同的行为typeof()。)

票数 0
EN

Stack Overflow用户

发布于 2018-04-17 17:40:57

Clang支持使用typeof(),但从技术上讲,这是因为您的C语言方言被设置为gnu *类型。但是__typeof__(),在c *gnu *语言方言中都支持这一点- 详见Clang 文档。

现在,如果你使用Xcode编写代码,C语言方言的默认设置看起来是GNU99,并且允许' asm''inline''typeof '的选项设置为Yes,所以使用typeof()不会为你带来任何问题。

Xcode项目设置
Xcode项目设置

如果使用C语言方言进行编辑更改或者有人决定关闭“typeof”的限制,则这种方式不会受到影响。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100004426

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档