This topic has been archived. It cannot be replied.
-
工作学习 / 科技领域杂谈 / 就没见过C/C++写得好的国人。不服上几段code来,让那位哥给你论断论断。
-x888(你可知道我的痛苦);
2010-5-15
(#6071543@0)
-
++i;
-wincity(toad 会英文的红卫兵);
2010-5-15
(#6071546@0)
-
我见过新手被这个弄晕而用错的,可见bug无处不埋,可见C/C++的队伍多么的无奈。
-x888(星云密布(繁星));
2010-5-15
(#6071550@0)
-
Java也有++i。
-wincity(toad 会英文的红卫兵);
2010-5-15
(#6071551@0)
-
JAVA也好不到哪儿去,不过没有指针,消除了一大隐患,让开发维护人员培训成本和风险都降低。可以有比JAVA风险更低的,那就又好一点儿。我去交换植物了,给那个哥整这玩意吧。
-x888(星云密布(繁星));
2010-5-15
(#6071579@0)
-
严禁使用无意义的变量名,打回去重写。像我这样的高手一般都是用 i_am_an_index_that_will_be_incremented_by_one 这样,一目了然啊
-sowen(昂居居);
2010-5-15
(#6071627@0)
-
this is good...lol
-mikesmith(老猫);
2010-12-1
(#6391291@0)
-
++i 不应该代表C++, 使用C++应该避免这样的语句。
-kingfish(kingfish);
2010-5-19
(#6078893@0)
-
对不起,俺以后再也不敢了。
-wincity(toad 会英文的红卫兵);
2010-5-19
(#6078915@0)
-
printf("hello,world!");
-baalinca(0511_9.6_55);
2010-5-16
(#6072767@0)
-
It's C, not C++. C++: std::cout << "hello, world";
-wangqingshui(忘情水);
2010-5-19
(#6080105@0)
-
这个我知道, C/C++等于一!如果C!=0,而且C的值加了1。:-)
-vicky2005(孩子她爹);
2010-5-19
{29}
(#6078930@0)
-
when C goes to infinity
-dusk(~小桥流水~);
2010-5-19
(#6079435@0)
-
错!C++等于21。
-aidle(松花鼠日);
2010-5-19
(#6079452@0)
-
C/C++等于21
-aidle(松花鼠日);
2010-5-19
(#6079456@0)
-
here is one
-timemachine(梦回唐朝);
2010-5-19
{542}
(#6079036@0)
-
这个还不够好?
-copperbean(允执其中);
2010-5-19
(#6079188@0)
-
少一个plus.
-wincity(toad 会英文的红卫兵);
2010-5-19
(#6079423@0)
-
少一个plus, 编译通不过
-dusk(~小桥流水~);
2010-5-19
(#6079432@0)
-
要么给compiler贿赂一下?
-peipeipei(小岛护士);
2010-5-19
(#6079448@0)
-
可是compiler看C+怎么看怎么别扭啊. C++=D, C+是什么呢?
-dusk(~小桥流水~);
2010-5-19
(#6079524@0)
-
x888 俨然以大拿的姿态在谈论。可惜,可惜啊!要知道,提 “C/C++" 说法的,水平都不怎么样,至少没有达到那个境界。C 和 C++只是长得像而已。对菜鸟级的人(像x888), C++ 60-70%像C,而对真正的大拿,the similarity <= 5%, or even less.打个比方,中国人与日本人长得很像,但思维方式,做事理念,两个民族差得很远。日人基本上是欧美式。
在整个I.T.行业,C++的悲剧就在于她与C的表面的similarity. C++的大拿都知道,大多数所谓的C++ code,其实还是C风格的,procedure-style, rather than Object Oriented. Still using too much if-else; switch. 悲剧,杯具,被拒!
True C++ code rarely uses switch-case, very limited usage of if-else. Each function should use <= 25 lines of codes. Otherwise, it's deemed done by a good C programmer, not C++.
-wukongjj(不经历风雨怎么见彩虹);
2010-5-19
{494}
(#6079460@0)
-
今天是感谢的日子,所以我感谢你。但是你有所不知,我的研究方向是面向对象,同时我是编译方法的专家,我可以轻而易举地写一个编译程序,当然这个有些吹牛,我只是写过一个相当庞大的一个真实语言的编译器,当做练习而已。这只是想告诉你,我对各种语言的特征,包括语法和语用,以及设计那种语法,语用的目的清楚得一塌糊涂。当然,这个是从前,因为我没做这些已经很多年了。
-x888(星云密布(繁星));
2010-5-19
{316}
(#6079540@0)
-
谢谢你的坦率。偶相信你是编译方法的专家,同时你的研究方向是面向对象。但依愚只见,研究方向是面向对象, 抑或CS教授,与I.T.行业的 C++大拿是不同的概念。
-wukongjj(不经历风雨怎么见彩虹);
2010-5-19
(#6079562@0)
-
最讨厌这种吹得每边的了。各种语言你都懂?给咱讲讲PL/I, REXX, PROLOG, LISP吧,这可都不是新语言了。可能比较对你口。C是个极不严谨的玩具罢了,因为便宜,学生用多了才得以普及。说白了高级语言都是玩具C++是个大玩具而已,写几行程序没什么神秘的。
-iberry(iberry);
2011-5-30
{122}
(#6711636@0)
-
What is your said is typical bullshit who knows little on programming.True C++ code rarely uses switch-case, very limited usage of if-else. Each function should use <= 25 lines of codes. Otherwise, it's deemed done by a good C programmer, not C++.
-cerboros_redux(Cerboros Reborn);
2010-5-19
{178}
(#6079550@0)
-
呵呵,看你就是一个loser, 满嘴脏话。Reminder - 这里可是 工作学习 /科技领域杂谈 哦。
-wukongjj(不经历风雨怎么见彩虹);
2010-5-19
(#6079560@0)
-
只有LOSER才会象你一样讲话。 烤烤自称大拿们一段程序。 下面的CODE是不是合法的C++程序? 看不懂的就不要自己称大拿了bool Postorder::next()
{
switch( pc )
case START:
while( true )
if( !lchild() ) {
pc = LEAF;
return true;
case LEAF:
while( true )
if( sibling() )
break;
else
if( parent() ) {
pc = INNER;
return true;
case INNER: ;
}
else {
pc = DONE;
case DONE: return false;
}
}
}
-cerboros_redux(Cerboros Reborn);
2010-5-19
{484}
(#6079638@0)
-
程序重排
bool Postorder::next() {
switch( pc )
case START:
while( true )
if( !lchild() ) {
pc = LEAF;
return true;
case LEAF:
while( true )
if( sibling() )
break;
else
if( parent() ) {
pc = INNER;
return true;
case INNER: ;
}
else {
pc = DONE;
case DONE: return false;
}
}
}
-cerboros_redux(Cerboros Reborn);
2010-5-19
{497}
(#6079639@0)
-
真正的好程序员,不写别人看不懂的程序。所以真正的好同志,不是大拿。
-wincity(toad 会英文的红卫兵);
2010-5-19
(#6079702@0)
-
yes
-coolmao(酷猫*Zensunni);
2010-5-19
(#6079703@0)
-
very true
-mikesmith(老猫);
2010-5-19
(#6079758@0)
-
知音!握手!如我在前贴中指出,I.T. 行业的 C++大拿是尽量避免使用 switch-case & if-else 的。while( true ) 更是 C 语言的流毒啊!C++ 的精髓是 encapsulation, polymorphism, and inheritance.
-wukongjj(不经历风雨怎么见彩虹);
2010-5-19
(#6079821@0)
-
该同志不光有while (true), 而且有falling-through cases, 和 if block going through cases. 要说while (true) 是流毒,falling-through cases 就是癌症,if block going through cases 就是艾滋病。
-wincity(toad 会英文的红卫兵);
2010-5-19
(#6079929@0)
-
嗯,写机器能懂的程序小学生就足够了,写可以轻易让人读懂的程序是需要很深功力的
-binghongcha76(一只大猫);
2010-5-20
(#6081535@0)
-
惭愧,我实在无法理解为什么要这样写程序 。哪位知道这样写程序的好处是什么?
-hhyang(hahay);
2011-5-27
(#6704780@0)
-
对于我来说,C/C++ 就是一个语言, 需要用对象的时候用对象,需要用Switch的时候用Switch. 没有必要一定使用所谓的封装。需要速度的时候我还要嵌入一些汇编代码。
强调 C 和 C++ 的区别的人,其实还停留在语言的阶段,没有深入到解决问题的阶段。
-kingfish(kingfish);
2010-5-19
(#6080068@0)
-
100%同意。其实用C写程序的时候也可以有意识的使用一些OO的思想。不管什么语言,关键是1、要解决问题。2、可维护性。3、可扩展性。4、高性能低资源占用。。。。。。
-exception(违例);
2010-5-23
(#6085592@0)
-
这个说的没错, 但是现实生活中可能性几乎没有. 哪天我如果看到一个真正的大的系统是这么写出来的, 想必共产主义已经实现了. True C++ code rarely uses switch-case, very limited usage of if-else. Each function should use <= 25 lines of codes.
-dusk(~小桥流水~);
2010-5-20
(#6081506@0)
-
能否解释一下为什么在C++里不能用switch/if-else语句?
-liquid(豆泡松果 之 松果豆泡);
2010-5-20
(#6081951@0)
-
这是一篇好文章。例子是C++的,但你只要看懂逻辑就行了。
-wincity(toad 会英文的红卫兵);
2010-5-21
(#6083887@0)
-
不同的情况下对C++的很多特性使用情况是不一样的。比如对于大的系统而且性能要求特别高的话,那些多层继承和多继承,虚函数和虚继承用法就要限制少用,而template就被鼓励多用。
-kaia(顺流逆流);
2011-5-27
(#6705825@0)
-
一看就是外行。code写得好坏没有大区别,只要花5分钟了解以下规范坏code就可以改成好错哦的。顺便夸一下,俺C写了十几年了,不敢说自己写的好,但像俺这么精通的不太多。
-xybca(摇曳秋风的葱);
2010-5-19
(#6079815@0)
-
佩服摇兄的谦虚精神。当年在哈佛听一讲座时,教授曾说过,理想中的C++高手最好没学过C语言。偶相信C的高手很多多,但怀疑C++的.
-wukongjj(不经历风雨怎么见彩虹);
2010-5-19
(#6079851@0)
-
呵呵,学究派。理想中的高手不用学习任何编程语言的。所有程序员都叫他为“老板”。
-kingfish(kingfish);
2010-5-19
(#6080102@0)
-
什么意思?彻底没看懂啊。
-oscargee(oscargee);
2010-6-25
(#6146292@0)
-
What is different of following 2 pieces of codecode 1:
int i = 0:
int c = 0;
for(i = 0; i<10; i++) {
c = c + i;
}
code 2:
int i = 0;
int c = 0;
for(; i<10; i++) {
c = c + i;
}
:-)
-top10(老关);
2010-11-30
{157}
(#6390610@0)
-
I didn't see the difference.
-hhyang(hahay);
2011-5-27
(#6704794@0)
-
A compiler expert doesn't say that
-top10(老关);
2011-5-30
(#6709620@0)
-
The integer i in code2 is intialized at the beginning and the i in code1 is not sure to be 0 until "for(i = 0; i<10; i++)" has been reached. However, it makes no difference unless the i is accessed indirectlybefore "for(i = 0; i<10; i++)" and/or "for(; i<10; i++)".
-iloveresort(秋水长天);
2011-6-14
{61}
(#6739878@0)
-
开始讨论回字有几种写法了?
-manniangpai(慢两拍);
2011-5-27
(#6704857@0)
-
Good point!
-healthy321(领导说:做人要低调.);
2011-6-3
(#6718993@0)
-
请问你是哪国人? 如果你是国人写过不好C/C++程序就不奇怪了。好程序员说话也要严谨。写些模棱两可无人能懂的烂程序不是什么本事。你是哪个系统架构/指令集编译器的专家?编译方法专家是什么意思?上学做练习?别跟我说什么系统都懂。不自量力。
-iberry(iberry);
2011-5-30
{169}
(#6711302@0)
-
老大也有掉井底的时候 :D
-wangqingshui(忘情水);
2011-5-30
(#6711329@0)
-
请问你是如何论断 C/C++ code 好坏的?
-hhyang(hahay);
2011-6-3
(#6718862@0)
-
Good question!
-healthy321(领导说:做人要低调.);
2011-6-3
(#6718991@0)