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

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

//作者: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是给初学者对程序一个感性认识。而我在这里,探讨了一些细节。我觉得一段
有用的代码,细节处理得好不好,是非常重要的,直接影响了代码的质量,您说呢?

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读