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

Include specific function from a header file into the code in c++

本文关键字:包含 c++ 代码 函数 文件      更新时间:2023-10-16

在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的情况下一样,一个人可以从头文件中只包含一个函数到他们的程序中?
包括cmathsqrt()函数?

这能做到吗?

不,不可能。c++缺乏一个真正的模块系统,所以我们只能使用预处理器包含。一个增加一种新的模块系统的提议没有被纳入c++ 11。参见c++模块——为什么从c++ 0x中删除了它们?他们一会儿还会回来吗?有关该提案的更多信息

如果这是关于你自己的库,你唯一的机会是将库分成更小的,独立的库。如果这个库不是你的并且/或者你不能改变它,你将不得不忍受它。但真正的问题是什么呢?