日期:2014-05-20  浏览次数:20651 次

关于java和c++的问题?
java中的import与c++中的inlude有什么区别?
是不是一样的?

------解决方案--------------------
区别很大


include 是告诉预编译器将include 语句的文件扩展到当前c文件中,在进行编译
例如:
a.h : int a;


a.c
#include "a.h "
int main() { return 0; }

预编译后的临时文件就是
int a;

int main() { return 0; }


import 是指引编译器去相应的目录数和文件查找使用的类,并不扩展该类的内容到当前编译类,如果当前编译文件中使用的类未被编译,则会编译该类
------解决方案--------------------
一样学习了!
------解决方案--------------------
blh讲的对。

我稍微补充几句
要正确理解#include和import的区别,首先要比较清楚的知道C++和java预编译器的做法。

C++对每个工程中的.cpp或.c文件进行编译,.h是不进行编译的,只是用来被include到别的cpp里去。#include的过程是源代码级的,因此如果写的不好(通常是在.h源代码里写了函数实现,与变量定义,又有多个.cpp#include了这个.h)会产生链接错误。

而import不会,import只是引入一个逻辑空间,让程序员在代码中用比较简短的类名代替比较长的类名而已。

所以import和include是完全不同的两回事。import的效果,其实相当于C++中的using namespace。
------解决方案--------------------
想不到在JAVA区也能学到C++知识,呵呵,不错!
------解决方案--------------------
效果差不多的,如果你需要了解深点的话就是编译的过程不同
------解决方案--------------------
我觉得有个现象应该可以大体说明一下,c++在编译完成后不需要.h也能运行,因为编译前就已经包含进去了。
java在运行时还是需要那个类的,否则就找不到类
应该 是这样的吧