Nuevo uso de colocación de C++

La colocación nueva sobrecarga al operador original nuevo y la colocación nueva no se puede sobrecargar a pedido.

Colocar nuevo es continuar creando un objeto en la dirección original. Tenga en cuenta que el tipo de objeto debe ser consistente. Esta operación tiene dos ventajas:

1. No es necesario perder tiempo buscando un espacio adecuado para almacenar nuevos objetos, lo que reduce el rendimiento y el tiempo.

2. Generar objetos en la misma dirección no abrirá espacio adicional, lo que reducirá la sobrecarga de espacio.

La colocación nueva se utiliza a menudo cuando los requisitos de tiempo son especialmente elevados.

usar:

#include "iostream"

using namespace std;

class PlaceMent {
public:
	PlaceMent(int out_value) : value(out_value) {}
	void PrintValue() {
		cout << value << endl;
	}
	~PlaceMent() {
		cout << "des" << endl;
	}
private:
	int value;
};

int main() {
	PlaceMent* rat = new PlaceMent(13);
	rat->PrintValue();
	PlaceMent* place = new(rat) PlaceMent(10);
	rat->PrintValue();
	place->PrintValue();
	int x = 100;
	cout << x << endl;
	int* mem = new(&x) int(2);
	cout << x << endl;
	cout << *mem << endl;
	place->~PlaceMent();

	return 0;
}


Si es necesario destruir el objeto de la ubicación new, simplemente llame a su destructor.

Supongo que te gusta

Origin blog.csdn.net/qqQQqsadfj/article/details/133031992
Recomendado
Clasificación