观看了 2 CppCon Gabriel Dos Reis 关于模块 TS 的讨论。
我记得他不想导出任何私有成员/函数,所以其他模块根本无法使用它们。
我理解他的立场,但它不会与未来的 C++ 反射冲突吗?例如,当 C++ 具有可以枚举所有类函数的反射时,它不应该也能够枚举私有函数吗?
我知道,访问私有函数是不好的,但在极少数极端情况下它是必要的(有时需要 const_cast,尽管编写它的开发人员应该感觉很糟糕)
编辑:
并且“不暴露私有”至少有一个例外 - 如果类使用“非虚拟接口”模式