我对 C++ 很陌生,我试图理解为什么需要先编译一些库。
例如,某些 boost 库仅是标头(例如 msm),而另一些则需要编译(例如 timer)
我找不到一个很好的解释来解释为什么会这样。有人可以帮我理解吗?
谢谢
我对 C++ 很陌生,我试图理解为什么需要先编译一些库。
例如,某些 boost 库仅是标头(例如 msm),而另一些则需要编译(例如 timer)
我找不到一个很好的解释来解释为什么会这样。有人可以帮我理解吗?
谢谢
某些类型的东西只保存在标题中,而不是通常的.h(pp)
和.cpp
文件。我知道的只有一个是模板化的类和函数。我确信 boost 会利用这一点。
#include
他们。template
s 必须在头文件中定义。但是,通过使用头文件,可以逃脱多少,或者愿意忍受多少是有限度的。例如,处理共享库中的静态对象,顺便说一下,C++标准对此一无所知,有时只是不能在头文件中完成。