BundleInfo baseBundleInfo_;
void InnerBundleInfo::GetBundleInfo(const BundleFlag flag, BundleInfo &bundleInfo) const
{
bundleInfo = baseBundleInfo_;
bundleInfo.mainEntry = info.second.modulePackage;
}
BundleInfo bundleInfo;
mInnerBundleInfo->GetBundleInfo(1, bundleInfo);
请问这个操作是什么意思,会同时修改bundleInfo和baseBundleInfo_的值吗?请详细说明。
只会修改bundleInfo
因为你函数声明的是按引用传递
即BundleInfo &bundleInfo是BundleInfo bundleInfo的别名,并不是指针传递
举个例子
void swap(int &x,int &y)
{
int t=x;
x=y;
y=y;
}
此时你假设已经声明2个整形变量名为x和y
那么想要互换它只需要
swap(x,y);
就行了,而不是
swap(&x,&y);