刚做完一个objective-c到c++,从cocos2d到cocos2d-x的移植项目。本人为刚毕业的菜鸟,所以对这两门语言都不少特别精通!对于两门语言的区别也只是在网上看了一些大神的总结而已,但是并不能完全理解!
还是实践出真知啊!我感觉到二者最大的区别是,objective-c的消息处理机制!objective-c编译时传递消息,至于这个消息是否正确并不重要。
我在移植时遇到一个问题就是这样的:
class A。A有一个方法fund。a是A的对象。
在objective-c里:
[a fund];不管a是否为空,程序运行到这里时都不会crash。
而c++里:
a->fund();很明显如果a为空,这里肯定会crash的。
(菜鸟的文章,只能当自己的笔记用,有错误请大家指正啊!)