好吧,我在这里会很简单,我只有一段 C++ 代码,我不确定我是否真的理解并且需要一些帮助。
好吧,为了简单起见,我有一个定义如下的类:(真正的类有点复杂,但这才是重要的)
class myClass : public Runnable {
Semaphore *m_pMySemaphore;
__Queue<Requests> *m_pQueue;
Request m_Request;
VetorSlotBuffer *m_vetorSlotBuffer;
}
到目前为止,没有什么问题,myClass 只是一个常规类,它有 3 个成员,实际上是指向其他类的指针和 Request 类的对象,这些类的实现对于我的观点来说并不重要。
然后,当这个人实现 myClass 的构造函数时,他或她执行了以下操作:
myClass::myClass() : m_pMySemaphore(0), m_pQueue(0), m_vetorSlotBuffer(0) {
}
很明显,构造函数会这样处理这三个变量,因为它们是指针,对吗?但这是什么样的语法呢?我是否通过这样做将指针设置为空?我已经看过一点c++,但从未发现过类似的东西。
其次,构造函数声明后的“:”有什么用?我见过但从未花时间调查。这就像一个内部类还是什么?
预先非常感谢您。
纳尔逊·R·佩雷斯
这是一初始化列表 http://www.cprogramming.com/tutorial/initialization-lists-c++.html
这是初始化成员的推荐方法 http://www.parashift.com/c++-faq-lite/ctors.html#faq-10.6
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)