Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Ne rendeljen nyers mutatót (
owner<T>r.3)
Ez a figyelmeztetés kikényszeríti az R.3-at a C++ alapvető irányelveiből. További információ: C++ Core Guidelines R.3.
Megjegyzések
A tulajdonosok inicializálása foglalásokból vagy más tulajdonosoktól történik. Ez a figyelmeztetés akkor fordul elő, ha egy nyers mutatóból származó értéket rendel egy tulajdonosmutatóhoz. A nyers mutatók nem garantálják a tulajdonjog átruházását; Az eredeti tulajdonos továbbra is megtarthatja az erőforrást, és megpróbálhatja felszabadítani azt. Nem baj, ha egy tulajdonostól származó értéket rendel egy nyers mutatóhoz. A nyers mutatók érvényes eszközök az erőforrásokhoz való hozzáféréshez, de kezelésükre nem alkalmasak.
Kódelemzés neve: DONT_ASSIGN_RAW_TO_OWNER.
példa
Objektumcím használata:
Ez a minta megpróbálja a defaultSocket cím tulajdonjogát a socket mutatóhoz rendelni.
gsl::owner<Socket*> socket = defaultSocket ? &defaultSocket : new Socket(); // C26406