文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>学习C++之父的最新姐妹作笔记1

学习C++之父的最新姐妹作笔记1

时间:2010-12-21  来源:Daywei

在第一个程序helloworld.h中,C++之父给我们一种焕然一些的新的编程代码,代码如下:

#include "std_lib_facilities.h"

int main()
{
 cout<<"hello world!\n";
 keep_window_open();
 return 0;
}

我看到一些人在网上问 #include "std_lib_facilities.h"是什么,编译不通过之类的问题,我也在疑惑,其实伟大的C++之父给我们已经做了解答,我们需要沉住气往下看,

#include "std_lib_facilities.h" 据我猜测应该是C++之父自己封装了一些 我们以前用到的头文件和命名空间之类的东西

比如 #include<iostring>

       #include<string>

       using namespace std;

在他的书中我们也可以看到#include "std_lib_facilities.h" 这个文件是可以用我们比较熟悉的一些头文件来代替的

    #include <iostream>
    #include <string>
    #include <vector>
    #include <algorithm>
    #include <cmath>
    using namespace std;

    inline void keep_window_open(){char ch;cin>>ch;};

    在一些Windows机器中需要调用keep_window_open(),以防止在你在有机会阅读输出之前窗口被关闭。这是Windows的一个特点,而不是C++的。

下面我来解释一下为什么C++之父用#include "std_lib_facilities.h"作为头文件,其实在书的179页也提到了这个问题。

因为在以前我们写程序的时候都会注意使用using namespace std 也就是命名空间。简单一点的程序还好,如果是做一个大型项目,标准库的命名空间肯定很多,再加上自定义的命名空间也不少。所以只要你使用std_lib_facilities.h,你就不需要担心标准库文件和std名字空间了。

     一个一般性的原则是,除非是std这种在某个应用领域中大家已经非常熟悉的命名空间,否则最好不要使用using指令。过度使用using指令带来的问题,你已经记不清楚每个名字来自哪里,结果就是你又陷入名字冲突之中。显示使用全限定名,或者使用using声明就不存在这个问题。因此,将一个using指令放在头文件中是一个非常坏的习惯,因为用户就无法避免上述问题。然而,为了简化初学者编写程序,C++之父确实在std_lib_facilities.h中为std放置了一个using指令,因此我们可以像下面代码这样来写程序:

 

 

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载