Qu'est-ce que C++ version de realloc(), répartir la nouvelle tampon et de copier le contenu de l'ancien?

En C, nous avons utilisé malloc(), free(), mais en C++ youare à l'aide de new, delete, mais en C, nous ont également realloc, qui alloc le nouveau bloc et copier les anciennes données (minimum commun), puis libérer les anciennes données bock. Alors, quelle est la version C++ de qui? Je peux écrire mon propre bien sûr, mais est-il un builtin chose?

main() {
  int i; char *x = malloc(3);
  x[0] = 10;
  x[1] = 20;
  x[2] = 30;
  realloc(x, 4);
  x[3] = 40;
  for (i = 0; i < 4; i++) printf("%i\n", x[i]);
}
  • Il n'y a pas d'équivalent de realloc en C++.
  • J'aimerais utiliser un std::vector pour que
  • Quelqu'un sait-il si l'un std::vector implémentations utilisent C gestion de la mémoire pour POD types?
InformationsquelleAutor exebook | 2013-05-23