我对 C++ 感到困惑vector
并寻求帮助。我声明一个类CBoundaryPoint
:
class CBoundaryPoint:
{
public:
double m_param;
int m_index;
}
然后我定义一个vector
:
vector<CBoundaryPoint> vBoundPoints;
CBoundaryPoint bp;
double param;
// other codes
bp.m_param = param;
vBoundPoints.push_back( bp );
令我惊讶的是,对于 中的每个元素vBoundPoints
, 的值m_param
与给定的值参数完全不同。我只是不知道为什么。
例如:
param = 0.3356;
bp.m_param = param; // so bp.param equals to 0.3356;
vBoundPoints.push_back( bp ); // while (*(vBoundPoints.end()-1)).m_param = -6.22774385622041925e+066; same case to other elements
那么发生了什么,为什么?我正在使用VS2010。