我正在从Java编程转向C ++,我对#include
和using namespace ...
感到困惑,#include
是否等同于java导入,例如java.lang.whateverClass;
或者名称空间是什么样的?或者我一起完全错了?我很感激帮助,如果有更好的地方发送给我,我也会感激。
答案 0 :(得分:4)
namespace
更像package
,而#include
有点像import
,除了在Java中导入类时它只会生成简单的名称可用课程。因此,您总是可以在任何地方编写类的完全限定名称,而不是导入它。但是使用C和C ++,当您#include
一个头文件时,编译器将在编译时处理该头文件中的所有内容。因此,虽然#include
在其目的上类似于import
,但其工作原理的细节却完全不同。
答案 1 :(得分:3)
不,#include
与Java中的import
完全不同。在Java import
只是帮助您,因为您不需要键入完整的类名(包括包)。在C ++中它包含一个文件。字面上。
名称空间的使用方式与Java中的包的使用方式相同。 Java 中的包是命名空间。