回复: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$做广告吧……挖沙沙。