我听说有一个轻量级的boost实现,其唯一的智能指针和一些其他非常基本的东西。我想我听说它也没有使用任何操作系统功能。我试着搜索但没有发现任何东西。有谁知道它的名称或者不需要操作系统调用的boost风格智能指针的实现?
答案 0 :(得分:14)
您可以使用bcp,但请记住使用 Boost库只会让您为使用的内容付费 - 智能指针全部以仅标头方式实现,这意味着没有OS调用,没有因此,如果你没有分发源代码,你可以下载完整的boost集,并且只使用你需要的位,而不会导致你的应用程序任何(未保留的)悲伤。
答案 1 :(得分:7)
您可以使用bcp utility仅提取支持给定库所需的完整树的子集。我不知道有任何独立的剥离Boost实现。
答案 2 :(得分:4)
“boost lite”通常用于指代一种提升使用方式,您可以将自己限制为“仅限标题”的提升组件。所以这包括大量模板化的智能指针头和boost :: bind,但不包括regex或program_options之类的东西,它们需要你链接到库以获得大部分功能。
如果您正在构建和发布.libs,boost-lite样式意味着您不会在boost libs上引入链接依赖关系(对下游用户不那么麻烦),并且如果您广泛使用pimpl idiom你可以在内部使用智能ptrs等,而lib用户甚至不会在你的标题中看到提升类型。这可以是一种有用的变更管理技术,用于在保守的环境中通过隐身引入增强。
即它只是使用普通boost安装的一种特殊方式,而不是一些单独的包。
答案 3 :(得分:1)
智能指针是tr1 extensions to the standard library的一部分。如果您的编译器供应商包含它可能是要走的路。我知道gcc和Visual Studio 2008的2个例子,它们都受到支持。
答案 4 :(得分:0)
答案 5 :(得分:0)
如果我没有记错的话,我认为你只能链接你需要使用的助推部分?我不认为你可以链接太过提升*,因为它。