Hat C ++ etwas wie Liststring in C #?

8

Hat C ++ etwas wie List<> in C #? Etwas wie List<string> zum Speichern eines Arrays von Strings.

    
Ata 12.06.2011, 06:57
quelle

3 Antworten

19

Die Antwort ist eigentlich

%Vor%

std::list ist eine verkettete Liste, kein Array wie C # 's List<T> class.

z. B.

%Vor%

Die Klasse std::list entspricht tatsächlich der Klasse LinkedList<T> von C #.

    
Sven 12.06.2011, 07:02
quelle
7

Eine Liste in .NET ist keine verknüpfte Liste. Die Datenstruktur, nach der Sie suchen, ist ein veränderbares Array.

%Vor%     
Alois Kraus 12.06.2011 07:01
quelle
0

C ++ hat std::vector template-Klasse, die C # List entspricht. Es hat auch std::list Vorlage, die C # SingleLinkedList entspricht.

Man muss darauf vorbereitet sein, dass in C ++ vector und list den Konstruktor des Elements aufrufen. Also, für jede Zeichenfolge, die Sie haben, wird eine Kopie erstellt.

Wenn Sie also nur wenig Speicher haben oder wenn Sie dieselben Zeichenketten in mehreren Sammlungen speichern möchten, verwenden Sie besser std::vector<std::string*> oder std::vector<char*> anstelle von std::vector<string> .

    
elder_george 12.06.2011 07:04
quelle

Tags und Links