我找不到头文件的用途。我们为什么需要它?C#中没有头文件,你只需要写"using“就行了。
另外,头文件和cpp文件有什么不同?
谢谢。
发布于 2012-09-28 06:07:52
在回答“头文件的用途是什么”这一部分时,如果将方法定义与实际实现分开,则在更改方法的实现时,编译器不会重新编译项目中的所有文件。
这是因为调用它的文件仍然以相同的方式调用它(这在头文件中定义),并且如果实现发生变化(在cpp文件中),编译器只编译被更改的文件并再次进行链接,从而在处理大型项目时节省了大量时间。
发布于 2012-09-28 05:57:35
看看下面的article,它解释了c#编译器是如何工作的,以及为什么它不需要头文件。
发布于 2012-09-28 06:01:23
AFAIK没有区别。你可以随时编写不带头的代码:
a.cpp
class A {
public:
void foo();
};
void A::foo() {}b.cpp
class A {
public:
void foo();
};
int main() { A a; a.foo(); }然而,对于公共定义使用头文件更容易、更方便,并且产生的错误更少,否则必须在每个翻译单元(.cpp)中编写:
a.h
class A {
public:
void foo();
};a.cpp
#include "a.h"
void A::foo() {}b.cpp
#include "a.h"
int main() { A a; a.foo(); }当然,您只能编译.cpp文件。但是,对于头文件有“预编译”。
为什么C#不需要报头?我对它的看法完全不同。在C#中,您只有头,而using就相当于C++ include。但这只是我个人的观点:D
https://stackoverflow.com/questions/12630582
复制相似问题