Share via


警告 C26406

请勿将原始指针分配给 owner<T> (r.3)

此警告强制实施 C++ Core Guidelines R.3。 有关详细信息,请参阅 C++ Core Guidelines R.3

注解

所有者是从分配或其他所有者初始化的。 将原始指针中的值分配给所有者指针时,会发出此警告。 原始指针不保证转移所有权;原始所有者可能仍可保留资源并尝试释放它。 可以将所有者的值分配给原始指针。 原始指针是有效的客户端,可访问资源,但不能管理资源。

代码分析名称:DONT_ASSIGN_RAW_TO_OWNER

示例

使用对象的地址:

此示例尝试将 defaultSocket 地址的所有权分配给所有者指针 socket

gsl::owner<Socket*> socket = defaultSocket ? &defaultSocket : new Socket(); // C26406