memory h標頭檔案封裝

2021-04-07 08:52:24 字數 1661 閱讀 2745

#ifndef _unix_lib_memory_hpp

#define _unix_lib_memory_hpp

/* author: piboye

* email : [email protected]

* date  : 2006.06.2

*///標頭檔案

#include

#include

namespace unix cmpt;//記憶體比較需要的結果 型別;

mem(void *add,unsigned int len):i_start(add),i_length(len) //add 不可以使用無效指標,但這是使用者的責任;

mem const & operator=(mem const & rhs) // 封裝了void* __cdecl memmove (void*, const void*, size_t); 如果記憶體可以重疊。

mem const & copy(mem const &rhs)// 封裝了 void* __cdecl memcpy (void*, const void*, size_t);記憶體拷貝,記憶體不允許重疊。

mem const & ccopy(mem const &rhs,int ch) // 封裝了 void* __cdecl memccpy (void*, const void*, int, size_t);記憶體拷貝,直到遇到ch字元為止。不會拷貝ch字元,也不會新增'/0'到i_start,記憶體上記憶體不允許重疊。

cmpt compare(mem const& rhs) const //區分大小寫的記憶體比較函式,封裝了int __cdecl memcmp (const void*, const void*, size_t)

cmpt icompare(mem const& rhs) const //忽略大小寫的比較函式,封裝了int __cdecl memicmp (const void*, const void*, size_t)

void*   find(int ch)  // 查詢ch字元所在的位置,封裝了 void* __cdecl memchr (const void*, int, size_t) 函式

//比較運算子用的是 沒有忽略大小寫的 compare;

#define cmp(op) const/

bool operator op (mem const & rhs) /

cmp(<)

cmp(>)

cmp(==)

cmp(<=)

cmp(>=)

cmp(!=)

#undef cmp

mem const & operator =(char ch) //記憶體初始話為 ch值,封裝了 void* __cdecl memset (void*, int, size_t);

operator void *() const //轉換為位址;

unsigned int length() const //記憶體大小;

void * address() const //返回記憶體位址;

void set(void * ptr,unsigned int len) //重置 記憶體塊;ptr不可以使用無效指標,但這是使用者責任。

}; //mem類定義結束

}// 結束unix名字空間

#endif //檔案_unix_lib_memory_hpp巨集結束

Linux標頭檔案 C C 標頭檔案

linux標頭檔案 c c 標頭檔案。linux常用標頭檔案如下 posix標準定義的標頭檔案 目錄項 檔案控制 檔名匹配型別 路徑名模式匹配型別 組檔案 網路資料庫操作 口令檔案 正規表示式 tar歸檔值 終端i o 符號常量 檔案時間 字元擴充套件型別 internet定義 套接字本地介面 in...

string標頭檔案與cstring標頭檔案

首先說string的標頭檔案 1 包裝了std的c 標頭檔案 2 舊的c標頭檔案 3 舊c標頭檔案的std版本,切記,這不是cstring的標頭檔案 詳見effective c 的第49條 再說cstring的標頭檔案 注 vc9編譯環境下 1 非mfc版本,控制台程式就用這個 2 mfc版本,需要...

C 標頭檔案與C標頭檔案

include 設定插入點 include 字元處理 include 定義錯誤碼 include 浮點數處理 include 檔案輸入 輸出 include 引數化輸入 輸出 include 資料流輸入 輸出 include 定義各種資料型別最值常量 include 定義本地化函式 include ...