c和c++中typedef struct和struct的区别 --- c和c++无区别

之前见到的有说c中struct A{}B;中B依旧是模板的,但是不对,typedef声明都没有,他不可能是模板。大致关系整理下图。

在这里插入图片描述

有无typedef
    • 都是起别名。可以直接A a; B b;
    • 有typedef,但没有B,则编译警告;
    • 如果没有typedef,A是模板,声明方式struct A a或者A a; B是对象,可以直接使用,不能当作模板使用。
    • c和c++无区别(至少目前我使用LLVM编译器尝试是这样的);
    • 无论有无typedef,A都是模板,都可嵌套,B一直不可嵌套(自身使用),可以省略(当有typedef时B如果省略会编译警告)。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值