我正在重写一些代码以消除全局变量并使类构造函数/析构函数句柄清理某些第三方库资源,但我担心一些代码会从类初始化列表中的另一个成员初始化一个成员.
class MyPodofodocument { public: // generates pdf to stream MyPodofodocument(std::stringstream *pStringStream) : device(pStringStream),document(&device) { } private: PodoFo::PdfOutputDevice device; PodoFo::PdfStreamedDocument document; PodoFo::PdfPainter painter; };
使用这个类的代码不需要查看使用该库的所有细节,但是我隐藏它们的方式使它依赖于使用成员初始化其他成员,然后才能访问构造函数的实际代码块,在那里它有一个有效的this指针.
它适用于单元测试骨架,所以我的问题基本上是,“这样可以,便携且安全吗?”
解决方法
原文地址:https://www.jb51.cc/c/114302.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。