首页 > 解决方案 > 头文件中类型名称的显式限定

问题描述

The C++ Programming Language,第 4 版的第 432 页介绍了桌面计算器的界面。看起来像 string 和 istream 这样的名称是“裸露的”(没有对 std 的限定)。我可以在自己的声明中模拟这种行为吗,如下所示:

头文件.h

// This is header.h

#include <string>
#include <vector>

extern string s; 
void func(vector<int> vi);

// and so on

...或者像 string 和 vector 这样的名称需要明确限定吗?

标签: c++

解决方案


本书第 89 页指出

为简单起见,我很少在示例中显式使用 std:: 前缀。我也不会总是明确地#include 必要的标题。要在此处编译和运行程序片段,您必须#include 适当的标头(如 §4.4.5、§4.5.5 和 §30.2 中所列)并使它们声明的名称可访问。


推荐阅读