求教关于c++栈对象的问题

char* name, const char* inSig, const char* outSig, const char* argNames, uint8_t annotation, const char* accessPerms) {

if (isActivated) {
return ER_BUS_INTERFACE_ACTIVATED;
}

StringMapKey key = qcc::String(name);
Member member(this, type, name, inSig, outSig, argNames, annotation, accessPerms);
pair item(key, member);
pair ret = defs->members.insert(item);
return ret.second ? ER_OK : ER_BUS_MEMBER_ALREADY_EXISTS;
}

这个member对象是在栈上吗,函数退出自动销毁?

member是栈上分配的,出函数会调用Member 的析构函数。还要看你的Member 类里面有没有分配数据,析构函数是否正确释放

只有你用malloc或者new分配指针,才会在堆上分配。