KeyFC欢迎致辞,点击播放
资源、介绍、历史、Q群等新人必读
KeyFC 社区总索引
如果你找到这个笔记本,请把它邮寄给我们的回忆
KeyFC 漂流瓶传递活动 Since 2011
 

C++啊~~我的青春啊~~我哭,达人来帮忙看看吧!

[ 19734 查看 / 84 回复 ]

回复:C++啊~~我的青春啊~~我哭,达人来帮忙看看吧!

调程序本来就是一件很orz的事情呀,楼主多加几堆 Assert,多跟踪几次吧。

C++ 都快忘光了……用惯了C#,最近要我做C++ 的程序觉得巨郁闷……
分享 转发
TOP

回复:C++啊~~我的青春啊~~我哭,达人来帮忙看看吧!

以下引用orlye在2006-5-15 17:18:56的发言:

弱弱地问一下,为什么拒绝MFC啊?


我在 M$ 没见到任何人用过 MFC... 要么 C++ 要么 C# ,也有些人用VB 或 Script。

呵呵。至于我已经完全以C#为最优先了。
TOP

回复:C++啊~~我的青春啊~~我哭,达人来帮忙看看吧!

我的IP呀……而且Proxy设置不能……想用个马甲都不行……

我不是M$员工,只是外包来M$做测试的,或许是做测试级比较低所以见得不全。但是我的确没见到还有人用MFC的了,Dev那边也只是用C++加API,或VC++.Net。几年前的程序当然很多用的啦。

C#用的人比较多,毕竟M$主推这个瓜瓜,VS2005的C# IDE功能也相当强大。呵呵,又给M$作广告了。
TOP

回复:C++啊~~我的青春啊~~我哭,达人来帮忙看看吧!

以下引用LOVEHINA-AVC在2006-5-16 15:50:54的发言:


C#的类库不比MFC、VCL简单多少……高一学的C#,除了语法和OOP概念外其它都忘干净了囧rz



个人认为,C#的最大好处就是简洁,与人类的思维更相似。C#的函数,只要大概知道它在哪,在列表上大概翻一下就找到了,因为光看函数名就知道这个东西大概是做什么的,鼠标放在函数上就可以看到更详细的信息,而参数名们都有其特定的意义,表示十分直接。基本上看到一个函数就知道它是干什么的了。看到一个类,打一个.就知道它能实现什么功能了。

所以,只要会语法,会OOP概念,就可以写了。呵呵。

C#不用背函数,是那些像我一样的懒人们的好工具呀,挖沙沙。人类果然是为了更懒而在不断地奋斗着呀。这便是变猪的真谛了。
TOP

回复:C++啊~~我的青春啊~~我哭,达人来帮忙看看吧!

C# 是有 unsafe 选项的,开了就可以加指针什么的了,而且也可以调用API,不过有些orz,因为定义有些奇怪,可能会很不习惯。

还有就是 C#、Native C++和 VB 什么的都是可以相互调用的,用 dll 或 Com。并且,在IDE 里面是支持这种转来转去的调用的调试的,就是说本来运行 C#代码,可以StepInto 到 C++ 里面去。有时看到 C++ 和 C# 的 几个不同语言的 Project 在同一个 Solution 里的确很orz。我至今也不会,所以不是很清楚。呵呵。不过测试的时候看起来挺方便的。

一般程序,大量时间都是被废在很小的一个小块里的,这便是瓶颈呀,所以把这块用各种方法优化了不就行了。比如调用C++什么的。而且C#的速度并不很明显地比C++慢,至少我觉得如此。除了一开始启动要初始化,还有那些 Windows控件 。呵呵。真不知道它怎么把那些Windows控件弄得这么慢的……还有VS2005 对机器要求也不低……

对于浪费用户时间还有一点,就是 C++ 明显 Bug 多些,这些应该也该算大大浪费时间吧。越是复杂的系统,这个情况越明显,呵呵。
TOP

回复:C++啊~~我的青春啊~~我哭,达人来帮忙看看吧!

以下引用wdx04在2006-5-17 18:04:31的发言:

这还是在给M$的IDE作广告吧。您在IDE里写C++程序,不是一样会有提示和自动完成功能么?难道说C++ Library的类名或者函数名就是比C#的拗口?


我也怀疑M$为了提高C#的人气,有意打压 C++,因为VC++2005 的确比VC#2005 不方便不少。比如:C++函数开头按括号可以显示调用信息,但是按一个End键信息就没了,而且不能从写到一半的参数中间看。
C#里面可以用 Ctrl+ED 自动排版,结果 C++里硬要你先选一段,然后才能用 Ctrl+EF 排列选择部分,而且速度也慢得多(不过也可能是因为这个)……
而且,C++没有 Intellisence ,就这一点就太orz了。习惯了方便,改不回来了……呵呵。毕竟集成在IDE里面的和外挂还是差别很大的。我曾经用过数小时只为了改变量名……用了 Intellisence ,一会就OK了。

不过,我认为学C#前一定要把C++学好,因为C++毕竟是基础呀,学好了事半功倍。

那些类库(STL,boost,ATL,WTL,DTL等),我实在是不了解,也不想去了解,因为觉得现在的已经够用了。毕竟我的方向不是系统底层,而是算法逻辑什么的,呵呵。不同的方向,用不同的语言也很正常嘛。


以下引用LOVEHINA-AVC在2006-5-17 16:58:29的发言:

呵呵,我觉得你说得不是很规范,相互调用是可以的,但你必须额外的安装一些RUNTIME,而不是基于什么文件格式或接口标准。至于C++ BUG多这类说法,就要看你用的是哪个厂家出的编译器了。


在Windows 下,用不用什么RUNTIME我不知道,不过装了VS2005。开一个 Native CPP 的 Project,加一个 COM 接口,再开一个 C# Project 在同一个 Solution 下,的确可以用C#调用C++。只是我现在还不太懂……呵呵。

我的BUG 多的意思是:C++里面什么类型都可以互相换,if()里面加什么都可以通过编译,if(函数名), if(i=1)( if(i==1) )这种错误也很容易发生(结果很多地方都统一写成if(1==i)了,呵呵),而且每个初始的内存都要自己多花一步去释放,弄不好就变成内存泄露了……
觉得,既然有简单的,还去用复杂的做什么呢。当然,很多比较底层的东西就不能用C#了。

其实,我的对于程序费时比大多数激进的人更激进,我认为,0.1% 的代码费了99% 的时间。或许是做数值计算太多了吧……呵呵。

我其实一年前才接触到 C# 的,呵呵。现在想起来,转到这个 C# 上正确的……呵呵。(其实是要用了,没办法……呵呵)

就当我是给M$做广告吧……挖沙沙。
TOP

回复:C++啊~~我的青春啊~~我哭,达人来帮忙看看吧!

以下引用cheong00在2006-5-17 21:41:38的发言:
Refactor!是其中一項, 只有VB.NET支援... 看示範時看得口水都流出來了. :D~~~~~~~~~~~~
http://msdn.microsoft.com/vbasic/downloads/tools/refactor/

應該還有兩項, 但不記得了... (反正我不常用VB.NET, 也就沒留意了)


不好意思,我说的那个 Intellisence 就是 Refactor,都是原来 Beta2 的时候菜单上叫Intellisence 害的。

Refactor 在 VS 2005 C# 里面就有,但是VB 和其他的都没有,所以要另外写一个附加包,还要钱……

不过这个新 Refactor 是比 C# 的Refactor功能多一些,比如把一个Hardcode 的东西弄成全局变量。看起来不错的说说,因为我经常做这种事。C# 现有的是: rename, extract method, reorder parameters, remove parameters, encapsulate Field, Extract Interface, Promote local Variable to parameter. 不过我一般只用前面3个……呵呵。
TOP

回复:C++啊~~我的青春啊~~我哭,达人来帮忙看看吧!

要知道我是个懒人呀,学这么多,还不如杀了我呢……学C#只用了两周,而且是一边学一边写了不少程序,而且这些什么Com、桌面应用、数据库应用什么的我都用不到……呵呵。或许若干年以后我勤快点了(这个可能性有点低呃)会去学吧。
而且C#可以说是 M$ 的一个规范吧,就算有不好的地方(我实在看不出来……),成了标准了,也就没有不好了,就像 键盘的键位,就像 下水道的圆盖子…… 就像 Windows……
呵呵。
TOP