六 輔助型別和函式

2021-06-19 04:36:43 字數 476 閱讀 5006

**:

定義了很多在實現可移植應用時有用的函式,libevent內部也使用這些型別和函式。

在除windows之外的大多數地方,套接字是個整數,作業系統按照數值次序進行處理。然而,使用windows套接字api時,socket具有型別socket,它實際上是個類似指標的控制代碼,收到這個控制代碼的次序是未定義的。在windows中,libevent定義evutil_socket_t型別為整型指標,可以處理socket()或者accept()的輸出,而沒有指標截斷的風險。

不是每個平台都定義了標準timeval操作函式,所以libevent也提供了自己的實現。

本節由於歷史原因而存在:windows從來沒有以良好相容的方式實現berkeley套接字api。

實現基於ascii的協議時,可能想要根據字元型別的ascii記號來操作字串,而不管當前的區域設定。libevent為此提供了一些函式:

很多應用(包括evdns)為了安全考慮需要很難**的隨機數。

迭代器和輔助函式

迭代器 iterator 是連線容器和演算法的紐帶,為資料提供了抽象,使寫演算法的人不必關心各種資料結構的細節。迭代器提供了資料訪問的標準模型 物件序列,使對容器更廣泛的訪問操作成為可能。根據迭代器所支援的操作不同,在 stl中定義了如下 5種迭代器 迭代器類別 說明輸入 從容器中讀取元素。輸入迭代...

OpenCV輔助型別

opencv中許多函式將矩陣作為引數傳入也將矩陣作為返回值返回,另一方面opencv中存在許多不同類別的矩陣,如scalar vec matx及c 標準庫中的vector 甚至是後面要涉及的大型矩型陣列 mat和sparemat 為了保證錯綜複雜的各類矩形型別保持相互聯絡,opencv定義了inpu...

codeigniter 四 模型和輔助函式

1 模型。1 什麼是模型?模型對於那些傳統mvc方式的人來說是可選的。比如,我們之前講的一些例子中就沒有用到m層,那是由於我們暫時還沒有涉及到與資料庫的操作,一旦涉及到資料庫操作,我們就要用m層了,因為模型 m 就是專門用來和資料庫打交道的。2 那怎麼樣建立乙個模型呢?其實模型就是乙個php類,裡面...