데이터를 힙에 저장하려면 어떻게 저장해야합니까?
또한 코드의 다른 부분에서 언급 된 값의 별칭으로 용기 내의 값이 필요하고, 변형이 코드의 일부에서 만들어진다면 참조 시멘틱스 즉, 필요하다면해야 저장이 std::vector
항상 내가 할당, 출처에 대한 질문에 관한 것을 들어
std::vector<std::vector<std::shared_ptr<Data>>>
: 수정 Data
객체에 대한 별명, 나는이 오른쪽 컨테이너 정의는 말을 잡고 다른 부분을 볼 수 ts 요소는 shared_ptr
s, vector
s 또는 Data
s와 상관없이 연속적인 저장 영역에서 동적으로 생성됩니다.
그러나, 나는 당신이 정말로 참조 시멘틱스 필요하면 생각하는 당신을 추천하거나이 컨테이너 안에 값 유형 Data
의 객체를 저장하는 데 충분하지 않은 경우 :
std::vector<std::vector<Data>>
이 코드를 단순화하고 것 shared_ptr
메모리 및 런타임 오버 헤드도 제거 할 수 있습니다.
참조 의미론이 필요한지 여부는 응용 프로그램의 디자이너가 말할 수있는 것입니다. 귀하가 제공 한 정보만으로는 불확실 함없이 알려주지는 못하지만 희망적으로이 답변을 통해 자신에게 질문해야하는 종류의 질문에 대한 힌트와 각 경우에 대한 답변이 무엇인지에 대한 정보를 얻을 수 있습니다.
"단지 몇 개의 정수 만 포함하는"부분은 "수천에서 수십만 개의 Data 개체"로 조금씩 싸웁니 다. –
각 '클래스 Data'객체는 4 차원의 정수를 포함합니다. 여러 시점에서 많은 데이터 인스턴스가 존재합니다. 거기에 뭔가가 있습니까? –
오, 알았어, 알았다. 고마워요 :) –