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 완전히 다른 것을 나에게 놀라움 . 나는 이유를 모른다.
:
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을 사용하고 있습니다.
당신은 당신이 값을 확인하는 방법을 보여주기 위해 몇 가지 코드를 추가 할 수 있을까요? – juanchopanza
그래, 아마도 .end() 대신에 .rbegin() 또는 더 나은 아직 .back()을 사용하고 싶을 것입니다. - – vmpstr
문제를 나타내는 짧은 코드 예제를 제공하십시오. –