将头文件中的特定函数包含在c ++中的代码中

时间:2014-05-31 21:28:51

标签: python c++ include header-files

在python中,可以从不同的模块导入特定的功能集,而不是导入整个文件

例如:

而不是使用import math并使用print math.sqrt(4),直接导入该函数:

from math import sqrt
print sqrt(4)

它运作得很好。


CC++中,必须包含整个头文件才能使用它提供的一个函数。例如,在C ++中

#include<iostream>
#include<cmath>
int main(){
    cout<<sqrt(4);
    return 0;
}

C代码也类似(不相同)。


是否有可能像python一样,只能将一个函数从头文件中包含到程序中?
例如:仅包含sqrt()中的cmath函数?

可以吗?

1 个答案:

答案 0 :(得分:3)

不,这是不可能的。 C ++缺少一个真正的模块系统,所以我们留下了预处理器包含。添加新类型模块系统的提议没有进入C ++ 11。有关该提案的详情,请参阅C++ Modules - why were they removed from C++0x? Will they be back later on?

如果这是关于您自己的库,您唯一的机会是将库拆分为较小的独立库。如果图书馆不是您的图书馆和/或您无法改变它,您将不得不忍受它。但是,无论如何,真正的问题是什么?