有没有建议对c++语言进行扩展,以消除痘痘
Is there a proposal to extend the C++ language so as to obviate pimpl?
有时,您希望提供一个类声明,它不仅是一个不透明的前向声明,而且还公开了公共功能—但是您不想提交您的私有或特定于实现的字段和方法。对此的一个解决方案是pimpl习惯用法——使用指向内部类的指针,其中包含公开暴露的类的实现。
我真的不喜欢使用pimpl,希望语言允许你拥有真正的私有成员——这样使用类的代码就不会"看到"它们的声明(因此可能不需要在实现细节改变时重新编译)。而且,最近,我注意到c++的发展速度要快得多——标准更新的周期是3年。所以…有没有建议在c++中添加这样的功能?一些编译器目前支持它吗?
是的,存在这样的提议。甚至有几个以前的版本,最新的是去年的:
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4173.pdf该提案将允许operator.
过载,列出几个用例:
- 智能引用
- 智能指针类工作
- 界面改进
- Pimpl
您可以阅读链接的提案以获取更多信息。当然,这并不一定会被接受,即使它被接受,它也可能不会被纳入c++ 17。
相关文章:
- 是否可以通过C++扩展强制多个python进程共享同一内存
- static_assert在宏中,但也可以扩展到可以用作函数参数的东西
- 如何将这个C++哈希表转换为动态扩展和收缩,而不是使用硬设置的最大值
- 扩展光电二极管探测器以支持多个传感器
- C++中的VLA,扩展名为std=C++11
- OpenGL 和 GLM 矩阵无法正确扩展,总是按比例缩小
- 基于范围的 for 循环:迭代使用一个元素扩展的向量
- C++返回 Numpy 数组的 Python 扩展模块
- 扩展可变参数模板中的变量名称
- 扩展C++生成的代码的模板参数类型名称
- 我想通过带有C++和Python的插件创建一个可扩展的应用程序
- VSCode IntelliSense无法识别SDL框架的SDL_image扩展库
- 将元组类型扩展为可变参数模板?
- 如何按文件扩展名引用文件夹中的文件
- HDF5Cpp 扩展复合数据集超板问题
- MSVC中的宏观扩展问题
- 嵌套参数包扩展失败
- C4204:使用的非标准扩展:非常量聚合初始值设定项
- [temp.variadic]中关于包扩展实例化的措辞
- 我应该包含什么来制作 boost.python 扩展?