中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

C++怎么使用span<T>或者span_p<T>

發布時間:2021-11-24 11:30:40 來源:億速云 閱讀:341 作者:iii 欄目:大數據

這篇文章主要介紹“C++怎么使用span<T>或者span_p<T>”,在日常操作中,相信很多人在C++怎么使用span<T>或者span_p<T>問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C++怎么使用span<T>或者span_p<T>”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

F.24:使用span<T>或者span_p<T>表示半開序列

半開是數學概念,指的是C++中的數組用[p:p+n)表示時,p指向第一個元素,而p+n則處于數組之外。

Reason(原因)

Informal/non-explicit ranges are a source of errors.

非正式的,不清楚的范圍是錯誤之源。

Example(示例)

X* find(span<X> r, const X& v);    // find v in r
vector<X> vec;// ...auto p = find({vec.begin(), vec.end()}, X{});  // find X{} in ve
Note(注意)

在C++代碼中,范圍的概念特別常見。典型情況下,范圍不會被明示而且很難確認是否被正常使用。尤其,給定一對表示參數(p, n)以表示數組[n:p+n),通常不可能知道p的后面是否真有n個元素可用。作為簡單的輔助類,span<T>用于表明范圍[p:q),而span_p<T>用于表示的范圍開始于p,終止于第一個謂詞為true的元素。

譯者注:很遺憾沒有找到span_p<T>的用法示例。

Example(示例)

span表示元素的范圍,但是我們怎么操作范圍中的元素呢?

void f(span<int> s){    // range traversal (guaranteed correct)    for (int x : s) cout << x << '\n';    // C-style traversal (potentially checked)    for (gsl::index i = 0; i < s.size(); ++i) cout << s[i] << '\n';    // random access (potentially checked)    s[7] = 9;    // extract pointers (potentially checked)    std::sort(&s[0], &s[s.size() / 2]);}
譯者注:大致可以參考vector的用法。
Note(注意)

A span<T> object does not own its elements and is so small that it can be passed by value.

span<T>對象不會真正用于它的元素,小到可以直接傳遞對象。

Passing a span object as an argument is exactly as efficient as passing a pair of pointer arguments or passing a pointer and an integer count.

傳遞span對象作為參數和傳遞一對指針參數或者一個指針一個整數在高效性方面完全相同。

Enforcement(實施建議)

(復雜)當代碼訪問以整形值確定邊界的指針類型參數時,報警并建議使用span代替。

到此,關于“C++怎么使用span<T>或者span_p<T>”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

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

c++
AI

沧源| 彝良县| 兴安盟| 阜城县| 安新县| 凌源市| 瑞金市| 吉安市| 封丘县| 枣强县| 宁化县| 鹤岗市| 长沙县| 武胜县| 扎囊县| 宁南县| 鹤岗市| 昭觉县| 义乌市| 双峰县| 嘉义市| 蛟河市| 武宣县| 子长县| 读书| 大宁县| 灵丘县| 绍兴市| 湖北省| 车险| 江华| 当涂县| 日喀则市| 西吉县| 策勒县| 司法| 望城县| 罗源县| 元江| 会宁县| 萨迦县|