kennen:lib:const_pointer_cast
Inhaltsverzeichnis
const_pointer_cast()
#include
<memory>
template<class U, class T) std::shared_ptr<U> const_pointer_cast (std::shared_ptr<T> p)
Liefert referenzzählenden Zeiger auf dynamisches Objekt ohne Schreibschutz.
Parameter
p | besitzteilender Zeiger |
Ergebnis
Rückgabewert: Mitbesitzender Zeiger oder leerer Zeiger, falls p
leer ist.
const_cast<U*>(p.get())
muss zulässig sein, führt aber zu undefiniertem Verhalten (zweimalige Freígabe).
Siehe auch
Beispiel
- const_pointer_cast.cpp
#include <memory> #include <iostream> int main() { std::shared_ptr<const int> p(new int(42)); std::shared_pointer<int> q = const_pointer_cast<int>(p); *q = 23; std::cout << *q << '\n'; }
kennen/lib/const_pointer_cast.txt · Zuletzt geändert: 2019-11-20 15:06 von 127.0.0.1