c++ 学习点滴 typedef

最近开始捣鼓c++. 由于本身是捣鼓java的, 程序本身不陌生, 陌生的只是c++. 没有看primary c++之类的入门书, 只看了一本 c++ for java programmer 作为入门. 云里雾里的看完了整个书的 75% 就开始上手写游戏, 发现明显不行啊.

发现搞不定的时候就查点资料, 然后在这里记录下自己的理解, 权当日志了, 如果能惠及他人, 不胜荣幸. 不喜欢全文复制的帖子, 这里就只写自己理解.

typedef
当我看cocos2dx的时候遇到这句话的时候我傻眼了
typedef void (CCNode::*callbackFunc)(void);

好吧我承认意思我是理解的, 就是定义了一个名字叫做 callbackFunc 的函数指针, 接受void参数, 返回 void 类型, 但这个写法明显没什么语法规则, 让我很是迷惑, 我就想探究下什么是正确的写法. 查了一堆的资料, 最后查到这个

[url]http://www.cnblogs.com/SweetDream/archive/2006/05/10/395921.html[/url]
我看后有了一点启发.

我们不要去纠结这个东西要怎么写, 而是要考虑这个关键之能完成什么作用. 例如你定义一个int, 你就写
int i = 9;

如果你定义一个结构体, 那么就是
struct {int x; int y;} var_1;

如果顶一函数指针那么就是
 void (CCNode::*callbackFunc)(void) = CCNode::callback;


这里, 请抛开typedef这个关键字, 把整个 = 左边的东西看作是[b]"变量定义"[/b]. 这样来理解 typedef 就容易多了. 随便怎么写, 只要做到吧typedef 后面的东西复制后黏贴到一个 = 的左边, 右边写上它的 value 没有语法错误即可. 你可以理解它是一个宏. 搞定.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值