Нет, это невозможно. Вы могли бы придумать какие-то грязные хаки, основанные на новых размещениях, которые могут приблизиться к вам, но я сомневаюсь, что вы заинтересованы в них.
Почему вы хотите это сделать? Возможно, есть какой-то чистый способ, как добиться этого в стиле C++.
Если вы хотите создать переменную, которая будет указывать на какой-либо объект позже, это то, что указатели используются для C++.
auto_ptr<Car> car;
car = new Car(xxx);
Или «старый путь»:
Car *car = NULL;
car = new Car(xxx);
delete car;
Чтобы найти элемент в векторе код, как это обычно используется:
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;
}
Во многих ситуациях вы, вероятно, также предпочитают не иметь вектора автомобилей, но и указателей на автомобили.
Будет ли заявление, такие как "экстерн автомобиль MyCar;" делать? Позже вы могли бы определить «Автомобиль myCar», например. struct car { машина() {} }; extern car c; автомобиль c; INT основной() { } – Chubsdad
Thx для ур ответы :) – Nils
возможно дубликата [C++: Создание неинициализированного заполнителя переменного, а не объект по умолчанию.] (Http://stackoverflow.com/questions/3291644/c -creating-an-uninitialized-placeholder-variable-rather-than-a-default-object) – Suma