string的實現涉及很多c++的基礎知識、記憶體控制及異常處理等問題,
仔細研究起來非常複雜,本文主要做乙個簡單介紹和講解模擬實現
string類的增刪查改。
**如下:
#define _crt_secure_no_warnings 1
#include #include
using namespace std;
class string
void swap(string& s)
string(const string& s)
:_str(null)
,_size(0)
,_capacity(0)
string& operator=(string s)
~string()
}char* getstr()
size_t size()
size_t capacity()
void expand(size_t n)
}void pushback(char ch)
_str[_size] = ch;
++_size;
_str[_size] = '\0';
}void pushback(const
char* str)
strcpy(_
str + _size,str);
}void popback()
void insert(int pos,char ch)
int end = _size;
while (end >= (int)pos)
_str[pos] = ch;
++_size;
}void insert(size_t pos, const
char* str)
int end = _size;
while (end >= (int)pos)
while (*str)
_size += len;
}void erase(size_t pos, size_t count)
else
}size_t find(char ch) const
}return -1;
}size_t find(const
char* str) const
}subindex = 0;
srcindex++;
}return -1;
}char& operator(size_t pos)
bool operator<(const string& s) const
else
if (_
str[i]>s._
str[i])
}if (i==_size)
else
}bool operator<=(const string& s) const
bool operator>=(const string& s) const
bool operator==(const string& s) const
}if (i == _size&&i == s._size)
else
}bool operator!=(const string& s)const
private:
size_t _size;
size_t _capacity;
char* _
str;
};
的增刪查改 MySQL定義庫表,增刪查改
mysql sql語言 ddl語句 資料庫定義語言 資料庫,表,檢視,索引,儲存過程 dml語句 資料庫操縱語言 插入資料insert,刪除資料delete,更新資料update dql語句 資料庫查詢語言 查詢資料select dcl 語句 資料庫控制語言 例如控制使用者的訪問許可權grant,r...
MongoDB增刪查改
mongodb沒有建立資料庫的命令,但是你可以先執行use db name來進行一些操作,如db.createcollection db table 這樣就可以建立乙個db name的資料庫了。以下語句其實都不用加引號 insert方法 insert obj db.test.insert write...
sed 增刪查改
對每行處理,文字替換 1.替換 s命令 sed s jcdd ganji g file 把檔案 file 中出現jcdd 的換出ganji.g標誌在整行範圍內把jcdd都替換為ganji。如果沒有g 標記,則只有每行第乙個匹配的jcdd被替換成ganji。g換出 ng代表 第n處開始出現的替換 se...