C++ 对象创建
// 创建对象,通过调用构造函数创建一个对象。
// 构造函数中没有返回值,所以一般情况下,仅仅做对象赋值操作。 从外部实参传到内部成员变量的操作。
举例:
CZkWatch watch;
CAsyncZooKeeper zk(m_pAppCfg->getZkIpList(), &watch , m_pAppCfg->getZkTimeout() , true);
说明:
// 这里是zk的属性, 不使用*pZk的原因是:new和delete
// 这里的zk就是栈上的普通的对象
//真正建立连接,是在init中实现的。用法是:非构造函数并带返回值,能够清楚的知道执行的结果。
char szMsg[1024] = {0,};
if (!zk.init(szMsg))
{
printf("Call zk.init error(%s)\n", szMsg);
return -1;
}
//C语言中通常是单值返回,对象除外(数据成员)。 如果想多返回信息内容,就要靠形参的指针和引用。
//init方法 返回ture和false告知是否连接成功。不成功的话,可通过szMsg返回具体失败原因的描述
//非new保存在栈上
int i = 0;
for(i=0; i<10; i++)
//new在堆上,并通过栈上的指针进行引用。
int *pI = new int;
*pI = 0;
for (*pI=0; *pI<10; *pI++)
delete pI;
所有new出来的空间全部在堆上,需要delete配对。堆空间的地址返回给栈上的变量,进行引用。
所有变量,非new的东西都在栈上。

浙公网安备 33010602011771号