是否有可能实现以下目的:
x.hpp – 此文件包含在许多其他类中
class x_impl; //forward declare class x { public: //methods... private: x_impl* impl_; };
x.cpp – 实现
#include <conrete_x> typedef concrete_x x_impl; //obvIoUsly this doesn't work //implementation of methods...
所以基本上,我希望用户包含文件x.hpp,但不知道conrete_x.hpp标题.
既然我只能用一个指针来使用concrete_x,而且只能作为一个私有数据成员使用,所以前端的声明应该足够让编译器知道有多少空间来准备它.它看起来很像着名的“pimpl成语”.
你可以帮我吗
PS.我不想使用一个void *并将其投射
解决方法
原文地址:https://www.jb51.cc/c/115294.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。