의 벡터에 새로운 요소를 추가 할 때 기본이 아닌 생성자를 사용하여, 나는이 같은 다른 클래스에서 객체의 벡터를 가지고 :<class> 객체 클래스에서
class Foo {
private:
std::vector<Bar> barObject;
...
};
클래스 바 기본 정의 생성자 (모든 전용 변수는 제로로 초기화) 한 값과,에 공급 될 수있는 비 기본 생성자 :
클래스에 fooBar newBar(var1, var2);
상기 barObject 벡터는 크기를 지정하지 않고 선언된다. 나는 기본 생성자를 사용하려면 내가 추측하고있어
, 나는 다만 수 :
barObject.resize(barObject.size()+1);
그리고 다음과 같은 벡터 뭔가 barObject 난의 개인 변수를 변경 :
barObject.at(i).SetVar(value)
하지만 기본값이 아닌 생성자를 사용하고 개인 변수의 값을 입력하려면 다음과 같이 할 수 있습니까?
tempBar는 barObject의 위치 i에 원하는 private 값을 가진 Bar 클래스의 객체입니까?
void resize (size_type n, const value_type& val);
이것은 당신이 새로 할당 된 메모리의 값을 지정할 수 있습니다 :
너무 작은 코드가 산문을 동반. 할 수있는 한 [mcve]만큼을 만드십시오. – Yunnosch
@Yunnosch 많은 코드! = 더 좋은 질문입니다. 항상 흑백이 아닙니다. – Rakete1111
@ Rakete1111 사실이지만 코드를 설명하면 (유용하지만) 코드를 보여줌으로써 멋지게 표현할 수 있습니다. – Yunnosch