BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #46696同步于 2010/11/23
CPP机器人发帖

[合集] 走不出c,进不了c++

shenlei
2010/11/23镜像同步0 回复
☆─────────────────────────────────────☆ oscar (见光分解) 于 (Sun Nov 21 23:43:58 2010) 提到: 为什么老觉得c++的都能用c来写呢。。。 难道一直把c++当c来用。 怎么才能从思想上转变过来,在实际应用中发挥c++的有点。 除了mfc,stl等。 类的观点一直没有。觉得定义结构体和N个函数就行了。 求教。。。 ☆─────────────────────────────────────☆ guozi (果子) 于 (Sun Nov 21 23:57:44 2010) 提到: 这一步太小 所以lz总想往回走 那这样吧,建议花两个星期 搞一下java 这步就够大了 OOP上多迈一步 C++只是个半吊子OO 【 在 oscar (见光分解) 的大作中提到: 】 : 为什么老觉得c++的都能用c来写呢。。。 : 难道一直把c++当c来用。 : 怎么才能从思想上转变过来,在实际应用中发挥c++的有点。 : ................... ☆─────────────────────────────────────☆ kmplayer (就是喜欢她) 于 (Mon Nov 22 00:03:36 2010) 提到: 也许直接学JAVA是个不错的选择 ☆─────────────────────────────────────☆ wildpointer (NULL^2) 于 (Mon Nov 22 00:15:07 2010) 提到: re 我现在也感觉直接学Java也不错 学了C++,对学Java还是很有帮助的。起码会感觉,Java比C++好学。 【 在 kmplayer (就是喜欢她) 的大作中提到: 】 : 也许直接学JAVA是个不错的选择 ☆─────────────────────────────────────☆ wks (cloverprince) 于 (Mon Nov 22 02:39:14 2010) 提到: 破釜沉舟,学java吧。 ☆─────────────────────────────────────☆ samandnike (Skytear) 于 (Mon Nov 22 06:26:25 2010) 提到: java是王道.. ☆─────────────────────────────────────☆ Caolixiang (慕慕珍珍) 于 (Mon Nov 22 07:38:28 2010) 提到: Java是王道 拿了SCJP SCJD的飘过~ ☆─────────────────────────────────────☆ donger (南极~熊熊) 于 (Mon Nov 22 08:25:26 2010) 提到: JAVA王道~~~C++不過是半吊子 ☆─────────────────────────────────────☆ psSmile (淡淡红茶) 于 (Mon Nov 22 08:29:32 2010) 提到: 【 在 Caolixiang 的大作中提到: 】 : Java是王道 拿了SCJP SCJD的飘过~ : -- 就不要显摆了吧, 这种认证考试是最没用的东西之一, 从来没见到有人show这个玩意。。。 ☆─────────────────────────────────────☆ ox (小贝) 于 (Mon Nov 22 09:11:32 2010) 提到: Java版欢迎你,木哈哈 ☆─────────────────────────────────────☆ eastdell (我是蜘蛛侠) 于 (Mon Nov 22 09:23:31 2010) 提到: 那是因为你还没有用C++做过大型的项目 继承和多态(虚函数)太重要了,这是C所不具备的 你一旦沉迷于使用C++的继承和多态,就难以自拔,而C能给你这些么? C要实现C++的特性,还要对C再封装一层,而C++天生就有这种特性 另外很多领域只能用C++编写,JAVA和C只能靠边站,例如现在的大型3D游戏,如《魔兽世界》、《使命的召唤6》、《古剑奇谭》等等,完全是用C++写的。这个领域对执行效率要求苛刻,完全没有JAVA什么事儿,完全是C++的天下。 【 在 oscar 的大作中提到: 】 : 为什么老觉得c++的都能用c来写呢。。。 : 难道一直把c++当c来用。 : 怎么才能从思想上转变过来,在实际应用中发挥c++的有点。 : ................... ☆─────────────────────────────────────☆ fentoyal (喜羊羊) 于 (Mon Nov 22 09:43:47 2010) 提到: 做几个MFC的project吧,不信你还能用c写。。写完基本就明白C++思想了。lz的情况和当年我一模一样,完全理解不了C++,不能用面向对象的思想来看问题。给你举个例子吧,希望你能从中理解。比如写一个排序算法,用c的话就是一个主要的函数,接受一个数组做参数。如果用到比如交换数组元素这样的auxiliary函数,就再写这么一个。用c++的话,可以将整个算法抽象成一个类,这个类构造函数可以接受一个数组来构造该算法。然后算法里有个主要的函数,还有好多辅助的函数,这样所有这些辅助函数都封装到一个类里了。是不是显得很compact?计算中多个函数间要share的变量,在c中可能要通过传参数甚至全局变量的,c++里可以声明成其私有成员供所有函数访问,是不是看上去比较美观了 ☆─────────────────────────────────────☆ wm290291928 (【云中子】) 于 (Mon Nov 22 09:50:23 2010) 提到: java不过是浮云啊 ☆─────────────────────────────────────☆ fentoyal (喜羊羊) 于 (Mon Nov 22 09:52:16 2010) 提到: btw, 学了c++再学java会觉得巨简单轻松,java某种意义上就是简化版C++ ☆─────────────────────────────────────☆ qiong10591 (qiongying) 于 (Mon Nov 22 09:55:16 2010) 提到: 哈哈 试试我的QMD ☆─────────────────────────────────────☆ Lampard (05414|淡|小小比利亚) 于 (Mon Nov 22 10:10:33 2010) 提到: D ☆─────────────────────────────────────☆ zhangfeng (Jackfeng) 于 (Mon Nov 22 10:27:51 2010) 提到: 都是大牛啊! ☆─────────────────────────────────────☆ byhuahua (huahua) 于 (Mon Nov 22 10:48:40 2010) 提到: 代价是不一样的,看楼主怎么选择啦。 精通C++一般来说要这么个四五年吧(做项目的时间),不过一旦精通意味着对整个计算机体系机构都成足在胸了。 而且C++牛人自然是C牛人! 所以才做过半年的飘过,努力努力啊! 对上面的Java控不做评价…… ☆─────────────────────────────────────☆ xiaolanhaitj (小懒孩) 于 (Mon Nov 22 10:49:16 2010) 提到: 好些时候只能用c的情况下还需要想办法模拟下面向对象实现,这样就走出c了。。。 用面向对象的方式考虑问题,就不会存在语言的问题了。 ps.面试的时候总被问到用c语言实现面向对象。。。 ☆─────────────────────────────────────☆ yaning (tian) 于 (Mon Nov 22 10:56:47 2010) 提到: 我也有这种感觉。。。 ☆─────────────────────────────────────☆ pichu (皮丘黄|黄皮丘|我是hi黄) 于 (Mon Nov 22 11:09:07 2010) 提到: 走不出过程,找不到对象…… ☆─────────────────────────────────────☆ huahua00 (lala) 于 (Mon Nov 22 11:12:18 2010) 提到: 我觉得如果是做B/S项目的话直接学Java就好了,每种语言都有自己适合的领域,前面一些说c++完全比java高一个层次的也太绝对了~ ☆─────────────────────────────────────☆ kearnel (专业路过帝) 于 (Mon Nov 22 11:15:42 2010) 提到: 学了java忘了C++的飘过。 不同语言各有所长,在单片机里用JAVA,在桌面项目开发里用C,都是自找不痛快。。 不过C++学好了倒真觉得是万金油,哪儿都可以插一脚。不过很多领域有别的语言更适合了。 ☆─────────────────────────────────────☆ childhuhu (人穷脸丑的虎虎) 于 (Mon Nov 22 11:23:11 2010) 提到: java就算了吧。。。呃。。。目前java应用最多的地方还是J2EE,和J2ME,如果对运算要求比较高java就歇了。。。C++和C没有谁优谁劣之分,领域不同,不过想学好C++的话还是好好研究OOP吧。。。C++的OO的确是半吊子,所以需要比较强的OO思想,否则代码很容易写飞了。。。 ☆─────────────────────────────────────☆ childhuhu (人穷脸丑的虎虎) 于 (Mon Nov 22 11:26:46 2010) 提到: 另外,个人觉得java比c++更容易培养出良好的OO思想。。。所以学了java再回头学C++也是不错的 ☆─────────────────────────────────────☆ shenlei (我爱果子|[路]|天山南北|潇湘隐士) 于 (Mon Nov 22 11:53:57 2010) 提到: 【 在 oscar 的大作中提到: 】 : 为什么老觉得c++的都能用c来写呢。。。 : 难道一直把c++当c来用。 : 怎么才能从思想上转变过来,在实际应用中发挥c++的有点。 : ................... 找本讲OO的书看一看... 走不出过程,进不了对象... 而且C++灵活性更大,导致学习更难,用起来更难... ☆─────────────────────────────────────☆ applesun (桶哥) 于 (Mon Nov 22 12:04:30 2010) 提到: 感觉还是底层是王道,如果能配合汇编就更好了 ☆─────────────────────────────────────☆ eminemheaton (Michael) 于 (Mon Nov 22 12:11:56 2010) 提到: 学java不oo都不行 ☆─────────────────────────────────────☆ qwedsazxc123 (fg) 于 (Mon Nov 22 12:18:30 2010) 提到: 又是语言.... 用C++,java编程培养面向对象的思维,用word写作品培养文学思维,用dota玩游戏培养团战,补刀思维.... 搞计算机的只要加一层虚拟,没有什么搞不定的,要什么思维有什么思维~~ 虚拟层砌的越高越不知道底层在干嘛~~ 写好C++可以对计算机体系结构成竹在胸??这个汇编更有发言权,有哪个操作系统是用C++写的?貌似有一个~ 对于底层来说,面向对象是什么东西??文学思维是什么东西?团战,补刀是什么东西?? C++效率高?玩蛋去吧~ 以前写程序的必须对计算机体系结构精通,现在堆了几层虚拟,会写程序的都不知道底层是啥了~ 为什么程序员满大街都是,为什么叫IT民工~~ ☆─────────────────────────────────────☆ bbeyes (YKYK) 于 (Mon Nov 22 13:00:22 2010) 提到: re,C之后学完java再学C++比直接学C++要好理解得多 【 在 childhuhu 的大作中提到: 】 : 另外,个人觉得java比c++更容易培养出良好的OO思想。。。所以学了java再回头学C++也是不错的 : -- : . __ __ : ................... ☆─────────────────────────────────────☆ JacKie575 (小五哥) 于 (Mon Nov 22 13:00:32 2010) 提到: 各个领域有各个领域的首选,没啥好争吧 底层操作系统,驱动开发这些毋庸置疑就是C。 桌面游戏,应用程序之类用C++,QT貌似就很不错。 java应该强势在web的J2EE应用,这个也是王者。 OK,看各个人所需要的方向吧。。没理由需要用C,汇编之类需要执行效率以及ROM受限,你整个OOP出来。 ☆─────────────────────────────────────☆ zzcc (足兆叉虫 <中立生物>) 于 (Mon Nov 22 13:01:30 2010) 提到: 面向对象几个要素:封装,聚集,继承,多态。 这些都是可以模拟的,C++提供的只是提供一种工具罢了,甚至于纯虚类之类的没有也没有什么关系。javascript不是一样能通过原型模拟面向对象所需要的所有东西。 面向对象最重要的是思想,不过大学期间却完全没有这方面知识的学习。。只是看C++,很难看得出那些东西有什么用。最近在看设计模式才发现面向对象原来这么有用。。。 ☆─────────────────────────────────────☆ zmj1227 (睡睡) 于 (Mon Nov 22 13:33:04 2010) 提到: 拜拜,听不懂啊 ☆─────────────────────────────────────☆ Pigeon (心雨) 于 (Mon Nov 22 13:54:16 2010) 提到: 说java的擅长的只有J2EE和J2ME,殊不知现在已经发生变化了,殊不知andriod是java开发,Hadoop是java,java的应用我们大家只是了解一个点而已 ☆─────────────────────────────────────☆ Guilt (恶魔) 于 (Mon Nov 22 14:06:27 2010) 提到: 【 在 Pigeon 的大作中提到: 】 : 说java的擅长的只有J2EE和J2ME,殊不知现在已经发生变化了,殊不知andriod是java开发,Hadoop是java,java的应用我们大家只是了解一个点而已 : -- andriod是java开发 这个不准确吧。。。要真是java开发早该给sun交钱了,不用打官司了 ☆─────────────────────────────────────☆ Pigeon (心雨) 于 (Mon Nov 22 14:40:34 2010) 提到: 【 在 Guilt 的大作中提到: 】 : : 说java的擅长的只有J2EE和J2ME,殊不知现在已经发生变化了,殊不知andriod是java开发,Hadoop是java,java的应用我们大家只是了解一个点而已 : : -- : andriod是java开发 : ................... andriod采用的是DVM,语法结构和java是类似的 Android is an Operating system like windows which has a whole platform from drivers to application and the interface for developer---the sdk which is programmed with Java languages ☆─────────────────────────────────────☆ ye5terday (读书无用) 于 (Mon Nov 22 15:10:28 2010) 提到: Android BlackBerry 都是用Java开发程序 ☆─────────────────────────────────────☆ jjmm (haha) 于 (Mon Nov 22 15:13:09 2010) 提到: 学C++++吧 男人要对自己sharp一些!! ☆─────────────────────────────────────☆ ysdaaa (OO) 于 (Mon Nov 22 15:37:40 2010) 提到: 那么多回JAVA的 ☆─────────────────────────────────────☆ LDK (长途王) 于 (Mon Nov 22 15:53:01 2010) 提到: 大型项目的经验~~ ☆─────────────────────────────────────☆ guozi (果子) 于 (Mon Nov 22 16:50:49 2010) 提到: 安卓的外挂程序 的确是java语言 至于交不交钱就不清楚了 【 在 Guilt (恶魔) 的大作中提到: 】 : andriod是java开发 : 这个不准确吧。。。要真是java开发早该给sun交钱了,不用打官司了 ☆─────────────────────────────────────☆ zzcc (足兆叉虫 <中立生物>) 于 (Mon Nov 22 17:19:24 2010) 提到: 【 在 guozi 的大作中提到: 】 : 安卓的外挂程序 : 的确是java语言 : 至于交不交钱就不清楚了 已经被起诉了 ☆─────────────────────────────────────☆ noname (无名亡者) 于 (Mon Nov 22 17:47:37 2010) 提到: 不如去学object C好了.... ☆─────────────────────────────────────☆ qwedsazxc123 (fg) 于 (Mon Nov 22 18:05:19 2010) 提到: Android是基于linux内核,所以android核心部分是c语言编写的。 但是android提供的sdk是基于java语言的,也就是说大部分用户所使用的应用程序是用java编写的。 搞清楚点,系统内核是C,java是开发用户应用程序的~ ☆─────────────────────────────────────☆ chocobo (C) 于 (Mon Nov 22 18:09:43 2010) 提到: 没有人提 python? ☆─────────────────────────────────────☆ nightfallbyr (nightfall) 于 (Mon Nov 22 18:50:37 2010) 提到: 感觉C++不伦不类,还是JAVA好 ☆─────────────────────────────────────☆ JC (胶囊兔 (:◎)≡ ) 于 (Mon Nov 22 19:14:38 2010) 提到: 进来学习学习 ☆─────────────────────────────────────☆ jjmm (haha) 于 (Mon Nov 22 19:23:33 2010) 提到: 还可以用ndk ,c++直接写应用~~ 【 在 qwedsazxc123 的大作中提到: 】 : Android是基于linux内核,所以android核心部分是c语言编写的。 : 但是android提供的sdk是基于java语言的,也就是说大部分用户所使用的应用程序是用java编写的。 : 搞清楚点,系统内核是C,java是开发用户应用程序的~ : ................... ☆─────────────────────────────────────☆ myself333 (巴渝人家|毅执追球) 于 (Mon Nov 22 19:47:42 2010) 提到: 不懂的 帮顶 【 在 oscar (见光分解) 的大作中提到: 】 : 为什么老觉得c++的都能用c来写呢。。。 : 难道一直把c++当c来用。 : 怎么才能从思想上转变过来,在实际应用中发挥c++的有点。 : ................... ☆─────────────────────────────────────☆ devc (BeThereForYou) 于 (Mon Nov 22 20:17:15 2010) 提到: 学学设计模式就有类 啊 继承的感觉啦? ☆─────────────────────────────────────☆ a206206 (每天都被人超级鄙视的寂寞帝和悲剧帝) 于 (Mon Nov 22 20:54:28 2010) 提到: 我想弱弱的表达一下,语言只是工具,思想最重要。。。 ☆─────────────────────────────────────☆ Pigeon (心雨) 于 (Mon Nov 22 21:11:29 2010) 提到: 【 在 qwedsazxc123 的大作中提到: 】 : Android是基于linux内核,所以android核心部分是c语言编写的。 : 但是android提供的sdk是基于java语言的,也就是说大部分用户所使用的应用程序是用java编写的。 : 搞清楚点,系统内核是C,java是开发用户应用程序的~ : ................... 没人说andriod是java开发的,意思就是java是用户开发应用程序的 ☆─────────────────────────────────────☆ FadeToBlack (口口口) 于 (Mon Nov 22 21:20:18 2010) 提到: 嘶嘶嘶大牛都转投java了…… PS. java控们来t版了 PPS. to lz. 写代码前后多想想,不要单纯的写 【 在 wks (cloverprince) 的大作中提到: 】 : 破釜沉舟,学java吧。 ☆─────────────────────────────────────☆ uid (uid) 于 (Mon Nov 22 21:28:39 2010) 提到: 没有啥好不好的,只有适合不适合的 ☆─────────────────────────────────────☆ AF (柱爷| 豢龙氏) 于 (Mon Nov 22 22:16:48 2010) 提到: 楼主不用进c++,搞后台,不做应用,做底层。会c的多,牛的不多 ☆─────────────────────────────────────☆ Ernest (Ernest) 于 (Mon Nov 22 23:05:41 2010) 提到: C用好了也可以了吧 ☆─────────────────────────────────────☆ chentingpc (chentingpc) 于 (Mon Nov 22 23:06:38 2010) 提到: C++很关键的几点,比如重载、类与继承、泛型编程等,都是他的优点啊。做小型项目的时候或许两者没有太明显的差别,但是大型项目就能看到C++的优越性的(通常情况下,且不包括嵌入式)
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。