description | title | ms.date | ms.topic | f1_keywords | helpviewer_keywords | ms.assetid | ||
---|---|---|---|---|---|---|---|---|
Learn more about: C26406 DONT_ASSIGN_RAW_TO_OWNER |
C26406 |
08/18/2020 |
conceptual |
|
|
02fb8e23-1989-4e24-a5a5-e30f71d00325 |
This warning enforces R.3 from the C++ Core Guidelines. For more information, see C++ Core Guidelines R.3.
Owners are initialized from allocations or from other owners. This warning occurs when you assign a value from a raw pointer to an owner pointer. Raw pointers don’t guarantee ownership transfer; the original owner may still hold the resource and attempt to release it. It's okay to assign a value from an owner to a raw pointer. Raw pointers are valid clients to access resources, but not to manage them.
This sample attempts to assign ownership of the address of defaultSocket
to owner pointer socket
:
gsl::owner<Socket*> socket = defaultSocket ? &defaultSocket : new Socket(); // C26406