我读代码系列(一)--------Hello, world!

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

//原创文章,保留一切权力,转载请注明出处

//作者:ji_gr

前言: 我读代码系列试图通过一些经典的代码,探讨一些C++的细节,进而发掘更深入的东西。

我始终认为,作为一个好的程序员,应该有洞悉本质的本领,更要有善于把握代码细节的习惯!

// The Hello world program.

// 来源:http://www.research.att.com/~bs/hello_world.c

// 作者: bs@research.att.com

#include

int main()

{

std::cout << "Hello, world!\n";

}

// note that "return 0;" isn't required in ISO C++

调试:

在vs.net下,要在包含一个头文件:#include "stdafx.h",调试通过。

这个程序简单的跟一似的,跟大家打了个招呼而已!

但是,还是有问题值得探讨的:

问题一:,后缀.h呢?

答:标准说不要.h,因为不同的编译器后缀不同。

问题二:记得老师说过,#include 和#include "filename.h"都一样,是吗?既然一样要两个干吗?

答:有区别。《C++ primer》里说:<>用于包含标准库的头文件,并且不带后缀。"",是用来包含编译器或者程序员自己的头文件的。

下面作几个试验:在vs.net下:

#include "stdafx"///错,不行

#include ////错,不行

#include ////ok!

#include "iostream"//?可以吗?可以!呵呵,最好别这样

看出点什么来了吗?实际上,我们应该坚持这样的原则:#include , #include "self_head_file.h"。

问题三:note that "return 0;" isn't required in ISO C++???标准说了,return 0;可以不写?

答:时可以不写,不过还是写上把,明确不是!

问题三:干脆,把这个程序再写的专业一点吧!

答:OK!

//我读代码系列(一)--------Hello, world!

//下面的代码才够专业?

#include

using namespace std;//std当然要写到这里了,省得std::个没完。

int main()

{

cout << "Hello, world!" << endl;//endl 和 ‘\n’是不一样的,至于区别吗?再说!

return 0;//标准不要求?我写上怎么了,不写别人怎么知道呀。意义明确!

}

其实,bs的Hello, world是给初学者对程序一个感性认识。而我在这里,探讨了一些细节。我觉得一段

有用的代码,细节处理得好不好,是非常重要的,直接影响了代码的质量,您说呢?

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航