Non, cela est impossible. Vous pourriez venir avec des hacks sales basés sur le placement nouveau qui peut vous rapprocher, mais je doute que vous vous intéressiez à eux.
Pourquoi voulez-vous faire cela? Peut-être y a-t-il un moyen propre de réaliser cela dans un style C++.
Si vous voulez seulement créer une variable qui pointera vers un objet plus tard, c'est ce que les pointeurs sont utilisés en C++.
auto_ptr<Car> car;
car = new Car(xxx);
Ou "ancienne":
Car *car = NULL;
car = new Car(xxx);
delete car;
Pour trouver un élément dans un vecteur un code comme celui-ci est couramment utilisé:
std::vector <Car> cars;
Car *find = NULL;
for(std::vector<Car>::iterator car = cars.begin(); car != cars.end(); ++car)
for (int i=0; i<cars.size(); i++)
if (Match(*car,xxx)
{
find=car;
break;
}
Dans de nombreuses situations, vous préférez probablement aussi ne pas avoir un vecteur de voitures, mais aussi des pointeurs sur les voitures.
Est-ce qu'une déclaration comme "extern Car maVoiture;" faire? Plus tard, vous pourriez définir "Car myCar" par ex. Structure de voiture ( ) voiture voiture externe c; voiture c; int main() {} – Chubsdad
Thx pour ur réponses :) – Nils
double possible de [C++: Création d'un espace réservé uninitialized variable plutôt qu'un objet par défaut.] (Http://stackoverflow.com/questions/3291644/c -creating-an-uninitialized-placeholder-variable-plutôt-que-un-objet-défaut) – Suma