Uyarı C26406
(r.3) öğesine
owner<T>
ham işaretçi atama
Bu uyarı, C++ Çekirdek Yönergeleri'nden R.3'e zorlar. Daha fazla bilgi için bkz . C++ Çekirdek Yönergeleri R.3.
Açıklamalar
Sahipler ayırmalardan veya diğer sahiplerden başlatılır. Bu uyarı, ham işaretçiden sahip işaretçisine değer atadığınızda oluşur. Ham işaretçiler sahiplik aktarımını garanti etmemektedir; özgün sahibi kaynağı tutabilir ve serbest bırakmaya çalışabilir. Sahipten ham işaretçiye değer atamanız normaldir. Ham işaretçiler kaynaklara erişmek için geçerli istemcilerdir, ancak bunları yönetmek için değildir.
Kod analizi adı: DONT_ASSIGN_RAW_TO_OWNER
Örnek
Nesnenin adresini kullanma:
Bu örnek, adresinin defaultSocket
sahipliğini sahip işaretçisine socket
atamayı dener:
gsl::owner<Socket*> socket = defaultSocket ? &defaultSocket : new Socket(); // C26406
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin