请问C11引入的泛型_Generic是在编译时替换的还是运行时替换的?

六道佩恩 2018-12-10 06:31:59
int a;
_Generic( a , int:puts("A"), float:puts("B"), default:puts("C") );
像这样,我觉得应该是编译时替换的,如果它能判断出数组型,由于变长数组是在运行时确定长度,那就是在运行时确定,但实测数组类型检测不出来,数组名检测为指针型,既然没了变长数组,那么是不是可以认为_Generic是在编译时被编译器替换的?
...全文
50 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧