【发布时间】:2011-01-21 19:56:19
【问题描述】:
Loki 库实现了一些非常广泛使用的概念(智能指针、访问者、工厂等)。相关书籍《Modern C++ Design》经常被提及,但库本身并没有被广泛使用。这是为什么呢?
大多数开发人员似乎更喜欢 Boost。特别是,为什么人们经常决定使用 Boost 的智能指针而不是 Loki 的?
【问题讨论】:
-
没有人需要带有 6 个模板参数的智能指针。
-
Loki 在发布时臭名昭著,无法被任何主流编译器编译。亚历山德雷斯库是个聪明人。对我来说太聪明了。
-
@johannes:大多数模板参数都有默认值,因此您不必设置它们。你可以只使用 typedef 来绑定一些模板参数。
-
事实上,弗兰克,您特别不能使用 typedef 来绑定 一些 模板参数——从 C++03 开始 typedef 必须指定所有模板参数。
-
@ribond:哦,对了,我忘了你不能有模板化的 typedef。我认为这是一个真正的语言失败。 (虽然我知道有解决方法。)