在回答我最近的一个问题时,有人建议我在 boost 中使用一个函数来解决我的问题。这是我第一次使用 boost,所以我添加了以下 .hpp 文件
#include <boost/algorithm/string.hpp>
和函数调用
boost::replace_all(marketPrices, "\\:", "-COLON-");
到我的源文件,然后运行 make 以正常使用 g++ 构建我的应用程序。
在这一点上,我意识到我没有在我的 makefile 中的链接步骤中添加任何新库,并且完全预计链接步骤会失败。令我惊讶的是,它并没有失败——不仅如此,代码也完全按照它应该运行的方式运行,没有任何抱怨。
至少可以说这让我感到惊讶 - g++ 是如何知道要链接到什么的,为什么它会自动这样做?还是我错过了 boost 库运行方式的一些基本内容?我知道 boost 使用了很多模板,这是我不太熟悉的 C++ 的一个方面,所以我想知道这是否与我所看到的有关。