C 11標準庫中的begin 和end 函式

2021-07-24 11:59:40 字數 2476 閱讀 7111

先上**:

int ia = ;

int*beg = begin(ia);

int*last = end(ia);

上面**中begin()返回的是陣列首元素的指標,end()返回的是尾元素的下一位置的指標。這是c++11 為我們提供的兩個非常方便的定位陣列指標的函式。有什麼好處?我想到了以前常用的一種計算陣列元素個數的方法:

typedf struct type tp;

tp a1, a2, a3, a4;

tp arr = ;

int arr_size = sizeof(arr)/sizeof(tp);

考慮到指標的減號運算子可以得到指標之間的距離,現在是不是也可以用這種方式更方便的計出陣列元素的個數呢?

auto size = end(arr) - begin(arr);
其中size 的型別是一種名為ptrdiff_t的標準庫型別,和size_t一樣也是定義在cstddef 標頭檔案中的機器相關的型別。因為差值可能為負值所以ptrdiff_t是一種帶符號的型別 。【c++ primer 5th】

本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦:

markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。 —— [ 維基百科 ]

使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細語法參考幫助?。

本編輯器支援markdown extra,  擴充套件了很多好用的功能。具體請參考github.

markdown extra**語法:

專案 | **

computer | $1600

phone | $12

pipe | $1

可以使用冒號來定義對齊方式:

| 專案 | ** | 數量 |

| computer | 1600 元 | 5 |

| phone | 12 元 | 12 |

| pipe | 1 元 | 234 |

markdown extra定義列表語法:

專案1專案2

定義 a

定義 b

專案3定義 c

定義 d

定義d內容

**塊語法遵循標準markdown**,例如:

@requires_authorization

defsomefunc

(param1='', param2=0):

'''a docstring'''

if param1 > param2: # interesting

print

'greater'

return (param2 - param1 + 1) or

none

class

someclass:

pass

>>> message = '''interpreter

... prompt'''

生成乙個腳注1.

[toc]來生成目錄:

離線寫部落格

瀏覽器相容

使用mathjax渲染latex 數學公式,詳見math.stackexchange.com.x=

−b±b

2−4a

c−−−

−−−−

√2a

更多latex語法請參考 這兒.

可以渲染序列圖:

或者流程圖:

即使使用者在沒有網路的情況下,也可以通過本編輯器離線寫部落格(直接在曾經使用過的瀏覽器中輸入write.blog.csdn.net/mdeditor即可。markdown編輯器使用瀏覽器離線儲存將內容儲存在本地。

使用者寫部落格的過程中,內容實時儲存在瀏覽器快取中,在使用者關閉瀏覽器或者其它異常情況下,內容不會丟失。使用者再次開啟瀏覽器時,會顯示上次使用者正在編輯的沒有發表的內容。

部落格發表後,本地快取將被刪除。 

使用者可以選擇 把正在寫的部落格儲存到伺服器草稿箱,即使換瀏覽器或者清除快取,內容也不會丟失。

注意:雖然瀏覽器儲存大部分時候都比較可靠,但為了您的資料安全,在聯網後,請務必及時發表或者儲存到伺服器草稿箱

ie9以下不支援

ie9,10,11存在以下問題

不支援離線功能

ie9不支援檔案匯入匯出

ie10不支援拖拽檔案匯入

這裡是腳注的 內容. ↩

C 11 標準庫筆記1

stl standard template library,標準模板庫 初始化 int values 引入 range based for 迴圈 for decl coll forward list,單向鍊錶實現 2 關聯式容器 associative container 已排序的集合,大都有二叉樹...

C 11標準庫thread簡介

1.建立執行緒物件 1 不代表任何執行執行緒的物件 thread noexcept 2 fn為可呼叫物件 函式 仿函式 過載 運算子的類 初始化為 class lame表示式 args為與之同步的一包引數列表 備註 類的成員函式作為可呼叫物件時,第一引數必須是該成員函式的位址,第二引數應為該類。仿函...

C 標準庫 C 11新特性

c 定義了nullptr以取代0或者null。nullptr是std nullptr t型別的 constexpr 變數。std nullptr t可以顯式或隱式地轉換為任何指標 包括類的成員函式指標 但不能顯式或隱式地轉換為任何其他型別。range based for迴圈 類似於別的語言中的for...