2013-02-20 4 views
2

안녕하세요, 관리되는 개체로 채워지는 벡터 (또는 유사한 다른 데이터 구조)가 있어야합니다. 관리되는 개체가있는 C++ 벡터

보통 내가 쓸 수 있습니다 :

std::vector<Object> vect; 

하지만 사용할 수 없습니다

std::vector<Object^> vect; 

누군가 벡터 대신 선언이나 조언 다른 구조를 변경하는 방법을 설명 할 수 있습니다. 감사.

+0

당신의 의도는 무엇입니까? C++/CLI를 사용하고 있습니까? 아니면 오히려 WinRT? –

+1

.NET 일반 목록 클래스 사용 : http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx –

+0

@AlexFarber 이것은 C++이 아니라 C#입니다. –

답변

3

를 사용하여 .NET 제네릭 List 클래스 : 같은 웹 페이지에서 http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx

목록 열거 샘플, user1237747의 코멘트 요청에 따라 :

#include "stdafx.h" 
using namespace System; 
using namespace System::Collections::Generic; 

int main(array<System::String ^> ^args) 
{ 
    List<String^>^ dinosaurs = gcnew List<String^>(); 

    dinosaurs->Add("Tyrannosaurus"); 
    dinosaurs->Add("Amargasaurus"); 

    for each(String^ dinosaur in dinosaurs) 
    { 
     Console::WriteLine(dinosaur); 
    } 

    return 0; 
} 

이^당신이 필요로하는 유형의 문자열을 교체합니다. [] 연산자를 사용하여 인덱스별로 List 요소에 액세스 할 수도 있습니다.

일반적으로 관리되는 유형과 관리되지 않는 유형을 혼합하여 사용하지 마십시오.

+0

유형을 값 클래스로 사용할 수 있습니까? 그렇다면 List가 List ^myList;로 선언 될 수 있습니까? –

2

예, 관리되는 유형에 대한 stl 데이터 구조가 있습니다. 아래는 귀하의 요청에 따라 벡터를 사용하는 예입니다.

#include <cliext/vector> 

cliext::vector<Object^> vect;