如何在C++中用模板编写的库的闭源

Waw*_*her 3 c++ templates

阅读本文在.CPP文件中存储C++模板函数定义后,我知道使用模板的类的定义必须以某种方式写入头文件中.因此,客户端用户可以通过导入头文件来使用它.这是不是意味着向用户显示完整的实施细节?这是否也意味着用模板编写的库必须以开源方式提供?

感谢您帮助澄清它.

dap*_*wit 7

  1. 将显示模板实现的详细信息.但是,如果您知道哪些参数是必需的,则可以提供显式模板实例化.但要成为通用解决方案,您必须提供实现,以便可以与其他参数一起使用.

  2. 不,您不必将其作为开源发布.仅仅因为某人可以看到代码,并不意味着它必须是开源的.您可以随意许可它,购买者必须遵守这些规则.毕竟,仅仅因为我们可以看到小说的整个文本并不意味着我们可以随心所欲地做任何事情.