代码如下:
#include <iostream>
#include <cstdio>
using namespace std;
typedef char BYTE;
#define BUF_SIZE 30
class A
{
public:
A();
~A(){}
inline const BYTE* GetBuffer() const { return m_pBuf; }
int Pop(void);
private:
const BYTE* m_pBuf;
};
A::A():m_pBuf() //<---line 19
{
BYTE* pBuf = new BYTE[BUF_SIZE];
if (pBuf == NULL)
return;
for (int i=0; i<BUF_SIZE; i++)
{
pBuf[i] = i;
}
m_pBuf = pBuf;
}
int main()
{
A a;
const BYTE* pB = a.GetBuffer();
if (NULL != pB)
{
for (int i = 0; i<BUF_SIZE;i++)
printf("%u", pB[i++]);
}
return 0;
}
我试图弄清楚提供了多少种C ++构造函数的初始化列表。我在上面找到一个特别的。有人请帮助解释第19行。不知道这是什么意思。 thx提前。
答案 0 :(得分:0)
getElementsByClassName()
正在调用A::A()
的构造函数。运算符A
是初始化列表,它告诉在A的私有成员 :
上调用默认构造函数。