2017-04-04 5 views
2

ich ein zwei Vektoren von CvPoint haben zwei Vektoren von Punkten zu halten, sagenWie in einem Vektor

vector< CvPoint> pa, pb; 

pa 20 Punkte hat und pb hat 30 Punkte;

Ich möchte beide Punkte in einem vector setzen, wobei die erste Spalte Punkte von pa und die zweite Spalte Punkte von pb haben wird.

Bisher erklärte ich eine vector beider Punkte wie folgt aus:

vector <vector <CvPoint> , vector < CvPoint> > 

Ich weiß, es ist nicht richtig. Ich bekomme nicht, wie ich zwei Vektoren in einem Vektor behalten kann. Suchen Sie nach Führer.

+1

Ein Vektor ist eine eindimensionale Datenstruktur. Es gibt keine "Spalten" in einem Vektor. Sie können einen zweidimensionalen Vektor erstellen, vielleicht einen 'std :: vector >'. Oder verwenden Sie ein 'std :: pair' oder ein' std :: tuple'. Zu umfassend. –

+0

Vektor > – Meccano

+1

Ein [Array] (http://en.cppreference.com/w/cpp/container/array) von zwei Vektoren? –

Antwort

1

Sie könnten eine std::pair verwenden, um im Wesentlichen eine 2-Spalten-Tabelle von Vektoren zu haben;

std::vector<CvPoint> pa, pb; 

... 

std::pair<std::vector<CvPoint>, std::vector<CvPoint>> myPair(std::make_pair(pa, pb)); 

myPair.first == pa /* true */ 
myPair.second == pb /* true */ 
+0

vielen Dank @alex G – Abc

Verwandte Themen