C ++ Header Guards

时间:2014-10-23 07:59:19

标签: c++

假设我有以下头文件:

#ifndef TESTCLASS_H
#define TESTCLASS_H

#include <string>

class TestClass
{
public:
    TestClass();
    std::string test();
};

#endif // TESTCLASS_H

我是否还必须围绕#include <string>设防?如果没有,如果main.cpp也有#include <string>怎么办?

2 个答案:

答案 0 :(得分:6)

不,因为string头文件有自己的包含保护(所有敏感库的头文件也是如此)。

答案 1 :(得分:2)

没有必要,c ++标准库有自己的Guards。