您好,登錄后才能下訂單哦!
本篇內容介紹了“C++什么時候使用原始指針”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
R.2: 只在接口中表示單獨對象使用原始指針
數組最好用容器類型(例如,vector(具有所有權))或者span(不包含所有權)表示。容器或span包含可以用于范圍檢查的信息。
Example, bad(反面示例)
void f(int* p, int n) // n is the number of elements in p[]
{
// ...
p[2] = 7; // bad: subscript raw pointer
// ...
}
編譯器不會讀注釋行,如果不看其他代碼你無法知道p實際上指向n個元素。使用span吧。
Example(示例)
void g(int* p, int fmt) // print *p using format #fmt
{
// ... uses *p and p[0] only ...
}
C風格字符串作為指向以0結尾的字符序列的指針傳遞。使用zstring而不是char*以表明你遵守這個習慣。
很多目前指向單獨要素的指針可以使用引用。然而,當nullptr也是有效值時引用就不是一個合理的選擇。
如果一個指針不是來自容器,view或者迭代器并存在指針運算(包括++),進行提示。這條準則如果運用于舊代碼會產生大量的假陽性結果(結果有問題但實際上沒有問題,譯者注)。
提示用原始指針傳遞數組的情況。
“C++什么時候使用原始指針”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。