gpt4 book ai didi

c++ - 是否有人建议扩展 C++ 语言以消除 pimpl?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:18:12 25 4
gpt4 key购买 nike

有时,您想要提供一个类声明,这不仅仅是一个不透明的前向声明,而且公开了公共(public)功能 - 但您不想提交您的私有(private)或特定于实现的字段和方法。一个解决方案是 pimpl idiom - 使用指向内部类的指针,容纳公开公开的类的实现。

我不太喜欢使用 pimpl 并希望该语言允许您拥有真正私有(private)的成员 - 这样使用该类的代码就不会“看到”它们的声明(因此可能不需要重新编译实现细节发生变化)。另外,最近,我注意到 C++ 的发展速度要快得多——标准更新中的 3 年滴答模式。那么...是否有人建议将此类功能添加到 C++ 中?目前是否有一些编译器支持它?

最佳答案

是的,这样的提议是存在的。甚至还有几个以前的版本,最新的是去年的:

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4173.pdf

该提案将允许重载operator.,列出几个用例:

  • 智能引用
  • 类似智能指针的工作方式
  • 代理
  • 界面优化
  • 粉刺
  • 处理

您可以阅读链接的提案以获取更多信息。当然,这不一定会被接受,即使被接受,也可能不会进入 C++17。

关于c++ - 是否有人建议扩展 C++ 语言以消除 pimpl?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30417738/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com