ios - OC 也是 C,如何反驳(已反思)
ringa_lee
ringa_lee 2017-04-17 13:49:37
[iOS讨论组]

OC 也是 C,确实如此,但是总感觉有人把它想的如此简单,比如面试官突然来这么一句,就开始考你 c 的问题,这该如何。。。。

ringa_lee
ringa_lee

ringa_lee

全部回复(3)
怪我咯

Objective-C 2.0 是兼容 C89,支持部分 C99 特性,但在使用过程中 OC 和 C 的关系更像是 Java 和 C,而不是 C++ 和 C。你基本感觉不到 C 的存在,即使完全不会 C,在大部分使用场景下也能正常使用。在使用 C 语言开发过程中,我们更关注:

  • 数据结构设计
  • 内存分配和释放
  • 面向对象还是面向过程
  • 谨慎的避免内存越界和野指针
  • 谨慎的类型转换
  • 平台API

在使用 Objective-C 实际开发过程中的改变:
- 不需要考虑数据结构
- 不需要考虑内存分配,
- 大部分情况下不需要考虑野指针
- 正常的进行类型转换,小部分情况下依赖奇技淫巧

Objective-C 的设计思想、风格其实和 C 已经没啥关系了,加上 CoreFoundation/Foundation 把脏活累活都干了,你可以站在更高层的角度去看待要解决的问题了。

学习 C 语言更多的不是学习「语言」,而是学习计算机是如何工作的。

PS:
不信你在开发中不用 Foundation,自己去实现对应的结构,一砖一瓦从头搞起试试?保证也能得到类似 C 语言开发类似的体验

PPS:
CoreXXXX这些库在使用过程中确实还是 C 语言的风格,不过代码都很容易理解,个人建议不用在这块上纠结

怪我咯

直接走人吧...
有这样的领导,这人要是成了你的领导,有你苦受的呢...

阿神

OC是objective-C吗?我觉得语言的区别一般就是语法和STL,当然也有说设计思想的。OC和C用途都不一样,怎么可能是一种语言,我还说Java是C++呢。但是,算法是相通的,问算法的问题还可以理解。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号