Objective-C 和 C++ 在语法、特性、范式、框架和库方面的主要区别是什么?
*重要提示:我的目标不是在两种语言之间引发性能战。我只想要真实的事实。事实上,我的问题与性能无关!请提供任何看似主观的东西的来源。
一些主要差异的简短列表:
bool
true
false
BOOL
YES
NO
void*
nullptr
id
nil
SEL
self
new
int foo (void)
int foo (int)
foo
- (int) foo
- (int) foo:(int) intParam
alloc
在我看来,最大的区别可能是语法。你可以用任何一种语言实现基本相同的东西,但在我看来,C++ 语法更简单,而 Objective-C 的一些特性通过动态调度使某些任务(如 GUI 设计)更容易。
可能还有很多我错过的其他事情,我会更新我想到的任何其他事情。除此之外,可以强烈推荐 LiraNuna 为您指出的指南。顺便说一句,另一个感兴趣的站点可能是this。
我还应该指出,我自己刚刚开始学习 Objective-C,因此上述很多内容可能并不完全正确或不完整——如果是这种情况,我深表歉意,并欢迎提出改进建议。
编辑:更新以解决以下评论中提出的观点,在列表中添加了更多项目。