c++可以通過類完成字串型別的定義,但是原生型別系統並沒有包含字串型別,而是在stl
庫中。
但是不同的應用中,可能會使用不同的庫。
string
類繼承自頂層父類object
,具體實現時依賴於c語言關於字串函式的乙個包,即關於字串的函式集。
class string : public object
};
字串類建立的注意事項:
目標:高效地實現**復用
// dtstring.h
#ifndef string_h
#define string_h
#include "object.h"
namespace dtlib
;} // namespace dtlib
#endif // !string_h
// dtstring.cpp
#include #include #include "dtstring.h"
#include "exception.h"
using namespace std;
namespace dtlib
else
}string::string()
string::string(const char c)
; init(s);
}string::string(const char *s)
string::string(const string &s)
int string::length() const
const char *string::str() const
bool string::operator==(const string &s) const
bool string::operator==(const char *s) const // 針對char*
bool string::operator!=(const string &s) const
bool string::operator!=(const char *s) const // 針對char*
bool string::operator>(const string &s) const
bool string::operator>(const char *s) const // 針對char*
bool string::operator
bool string::operator
bool string::operator>=(const string &s) const
bool string::operator>=(const char *s) const // 針對char*
bool string::operator<=(const string &s) const
bool string::operator<=(const char *s) const // 針對char*
// 加法
string string::operator+(const string &s)
string string::operator+(const char *s)
else
return ret;
}string string::operator+=(const string &s)
string string::operator+=(const char *s)
// 過載賦值操作符
string string::operator=(const string &s)
string string::operator=(const char *s)
else
}return *this;
}string string::operator=(char c)
; return (*this = s);
}string::~string()
} // namespace dtlib
c/c++語言本身不支援字串類型別c語言通過字元陣列和一組函式支援字串操作
c++通過自定義字串型別支援字串操作
字串型別通過c語言中的字串函式實現
(二十一)golang 字串中的函式
golang中ascii對應的字元佔乙個位元組,而漢字佔三個位元組。1 統計字串的長度len 2 字串遍歷,同時處理有中文的問題r rune str 3 字串轉整數 n,err strconv.atoi 12 4 整數轉字串 str strconv.ltoa 12345 5 字串轉bytes var...
指標學習十一 字串處理函式
輸入字串 scanf s s 輸入引數必須是字元型陣列名 gets 引數s是字元陣列名,輸入的字串允許帶空格 輸出字串 printf s s 輸出引數 可以是字元陣列名或字串常量 puts 引數s可以是字元陣列名或字串常量,成功執行後輸出字串,返回換行符 char str1 80 hello str...
字串類的建立過程
1 字串類的建立 字串類中的常用成員函式 過載陣列訪問操作符 char operator int i char operator int i const 注意事項 當i的取值不合法時,丟擲異常 合法範圍 0 i i m length char string operator int i else c...