Sie don‘ t notwendigerweise es braucht einen Zeiger zu sein, können Sie leicht einen globalen/lokale Array schaffen könnten:
Food foods[5];
Wenn auf Heap, Arrays von variadische Länge sein kann:
Food *foods = new Food[std::rand() + 1];
Aber man muss sie als Arrays löschen ausdrücklich:
delete[] foods; // otherwise they leak
Die meiste Zeit ist es sinn Container der STL zu nutzen macht:
#include <vector>
#include <array>
std::vector<Food> foods(5, cheezeburger()); // in case we need more cheeseburgers
std::array<Food, 5> foods; // in case five cheeseburgers should be enough for everyone
Sie werden für Sie alle lästigen Speicherverwaltung tun .
STL automatische Zeiger sind auch bekannt, Arrays auf dem Haufen.
können Sie std :: array angeben oder warum std :: vector over new [] –