我是一个新手C++程序员。我看过一些代码,包含了一个库文件(比如
test.h
string
),这个库文件同时在头文件和cpp文件中出现。如果不使用#ifndef
,这会导致重复的代码吗?还是预处理器足够智能,可以忽略它。在两个文件中都包含同样的库文件是正常的吗?test.h
#include <string>
.
.
.
test.cpp
#include <string>
#include "test.h"
.
.
.
<string>
将有它自己的ifndef
保护。 - Sam Varshavchik<string>
头文件中的某些东西,否则通常只需将其包含在实现文件中。 - Devan Buggay