new int[size] vs std::vector

Zuweisen dynamischer Speicher, ich habe mit Vektoren die ganze Zeit in C++.
Aber vor kurzem, während des Lesens einige source-code, fand ich die Verwendung von "new int[Größe]" und auf einige der Forschung, festgestellt, dass es auch reserviert dynamischen Speicher.

Kann jemand mir einen Rat geben, welche ist besser? Ich bin auf der Suche von einer algorithmischen und ICPC Sicht?

  • Es ist anders, weil, wenn Sie die dynamische Zuweisung von arrays, sind Sie zuerst zu erklären, eine int * Zeiger und rufen dann später neue auf, dann die Zuordnung der Zeiger zu der int Zeiger aus dem Aufruf new. Mit Vektoren, die Sie nicht haben, um sorgen über den Aufruf delete[] und Sie der Größe verändert werden kann mit Leichtigkeit.
  • mögliche Duplikate von die dynamische Zuweisung ein array von Objekten
  • Verwenden Sie immer vector. Array-new ist alle, aber völlig nutzlos in der modernen C++, und vermutlich existiert es nur als ein Versuch zu besänftigen Wiederherstellung von C-Programmierern. Die (Globale) Platzierung version von array-neu ist auch völlig unbrauchbar.
  • möglich, Duplikat der Verwendung von arrays und std::Vektoren in C++, was die performance-Lücke?
  • Sie müssen wirklich, Lesen Sie diese Antwort - stackoverflow.com/questions/6500313/... es erklärt viele Aspekte
InformationsquelleAutor varagrawal | 2012-03-16
Schreibe einen Kommentar