我目前正在编写一些必须是可移植的代码。为此,我使用pimpl成语,因为我认为它从API中清楚地分离了实际的实现。 总而言之,如果实现不共享代码(即跨实现共享的一些泛型函数),则pimpl习惯用法只起作用。C++:跨pimpl实现的共享代码
另一种选择是我猜的抽象接口.-无论如何,因为我在整个项目中使用pimpl,我真的不认为将它与抽象接口(API级别)混合是一个好主意。
那么你会建议在不同的pimpls上共享代码有哪些选择?我想到了pimpl本身的一个抽象接口类,所以实际的API仍然是完全分离的,但这似乎也是一个奇怪的想法。 PS:我不想讨论pimpl或抽象接口是否更好。从API的角度来看,我决定和pimpl一起去,我想坚持下去。
谢谢,听起来很不错! – moka
该标准看起来好像是在十五年前写的:遗憾的是错过了C++以来发生的所有事情。 –
@NicolaMusatti:这可能是真的。你应该检查VTK支持的编译器。这个标准非常重要,我对改进非常满意,但另一方面,我们应该研究真正的编译器。 :) – Naszta