溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++什么時候使用原始指針?

發(fā)布時間:2021-11-26 15:22:42 來源:億速云 閱讀:119 作者:iii 欄目:大數(shù)據(jù)

本篇內(nèi)容介紹了“C++什么時候使用原始指針”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

R.2: 只在接口中表示單獨對象使用原始指針

Reason(原因)

數(shù)組最好用容器類型(例如,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 ...
}
Exception(例外)

C風格字符串作為指向以0結尾的字符序列的指針傳遞。使用zstring而不是char*以表明你遵守這個習慣。

Note(注意)

很多目前指向單獨要素的指針可以使用引用。然而,當nullptr也是有效值時引用就不是一個合理的選擇。

Enforcement(實施建議)
  • 如果一個指針不是來自容器,view或者迭代器并存在指針運算(包括++),進行提示。這條準則如果運用于舊代碼會產(chǎn)生大量的假陽性結果(結果有問題但實際上沒有問題,譯者注)。

  • 提示用原始指針傳遞數(shù)組的情況。

“C++什么時候使用原始指針”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

c++
AI