亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? str.hpp

?? 一些同學問我
?? HPP
字號:
/* Code for exercises 11.8 and 11.10. |  | "C++ Solutions--Companion to The C++ Programming Language, Third Edition" | by David Vandevoorde; Addison-Wesley 1998; ISBN 0-201-30965-3. | | Permission to use, copy, modify, distribute and sell this software | and its documentation for any purpose is hereby granted without fee. | The author makes no representations about the suitability of this | software for any purpose.  It is provided "as is" without express or | implied warranty. `----------------------------------------------------------------------*//*This header contains the String implementation as presented inBjarne Stroustrup's "The C++ Programming Language (third edition)".It is used by ex11_8.cpp and ex11_10.cpp.*/#include <assert.h>#include <iostream>#include <string.h>class String {   struct Srep; // Internal representation.   Srep *rep;   friend struct String_iter;public:   class Cref; // Behaves somewhat like char&.   class Range {}; // For exceptions.    // Creation, copying and destruction:   inline String(); // x = ""   inline String(char const*); // x = "abc"   inline String(String const&); // x = other_string   inline String& operator=(char const*);   inline String& operator=(String const&);   inline ~String();   // Access and bounds-checking:   inline void check(int) const;   inline char read(int) const;   inline void write(int, char);   inline char operator[](int) const;   inline Cref operator[](int);   inline int size() const;   // Access to C-style representation (Exercise 11.10):   char const* c_string() const;   // Substring operator (Exercise 11.8):   inline String operator()(int left, int right);   // Relational operators:   friend bool operator==(String const&, char const*);   friend bool operator==(String const&, String const&);   friend bool operator!=(String const&, char const*);   friend bool operator!=(String const&, String const&);   // Concatenation:   inline String* operator+=(char const*); // Exercise.   inline String& operator+=(String const&); // Exercise.   // Formatted I/O:   friend ostream& operator<<(ostream&, String const&); // Exercise.   friend istream& operator>>(istream&, String&); // Exercise.};// Internal representation of a String (with sharing):struct String::Srep {   char *s; // Pointer to array of chars (elements).   int sz; // Number of chars.   int n; // Reference count.   Srep(int nsz, char const *p) {      n = 1;      sz = nsz;      s = new char[sz+1]; // Add space for terminator.      strcpy(s, p);   }   ~Srep() { delete[] s; }   Srep* get_own_copy() { // Clone if necessary.      if (n==1) { return this; }      --n;      return new Srep(sz, s);   }   void assign(int nsz, char const *p) {      if (sz!=nsz) {         delete[] s;         sz = nsz;         s = new char[sz+1];      }      strcpy(s, p);   }private: // Prevent copying   Srep(Srep const&);   Srep& operator=(Srep const&);};// Dispatcher (proxy, helper) for writing to a char in a String:class String::Cref { // Reference to s[i]   friend class String;   String &s;   int i;   Cref(String &ss, int ii): s(ss), i(ii) {}public:   operator char() { return s.read(i); } // Yield value.   void operator=(char c) { s.write(i, c); } // Change value.};// String members functions:inline String::String() { rep = new Srep(0, ""); }inline String::String(char const *s) { rep = new Srep(strlen(s), s); }inline String::String(String const &x) { // Copy constructor.   ++(x.rep->n);   rep = x.rep; // Share representation.}inline String& String::operator=(char const *s) {   if (rep->n==1) { rep->assign(strlen(s), s); } // Recycle Srep.   else { // Use new Srep.      --(rep->n);      rep = new Srep(strlen(s), s);   }   return *this;}inline String& String::operator=(String const &x) { // Copy assignment.   ++(x.rep->n); // Protect against "str = str;"   if (--(rep->n)==0) { delete rep; }   rep = x.rep; // Share representation.   return *this;}inline String::~String() { if (--(rep->n)==0) { delete rep; } }inline void String::check(int i) const {   if (i<0 || rep->sz<=i) {      throw Range();   }}inline char String::read(int i) const { return rep->s[i]; }char String::operator[](int i) const { check(i); return rep->s[i]; }inline void String::write(int i, char c) {   rep = rep->get_own_copy();   rep->s[i] = c;}inline String::Cref String::operator[](int i) {   check(i);   return String::Cref(*this, i);}inline int String::size() const { return rep->sz; }inline bool operator==(String const &x, char const *s) {   return strcmp(x.rep->s, s)==0;}inline bool operator==(String const &x, String const &y) {   return strcmp(x.rep->s, y.rep->s)==0;}inline bool operator!=(String const &x, char const *s) {   return strcmp(x.rep->s, s)!=0;}inline bool operator!=(String const &x, String const &y) {   return strcmp(x.rep->s, y.rep->s)!=0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人午夜在线播放| 亚洲一区二区三区小说| 免费成人美女在线观看.| 欧美日韩亚洲综合| 日韩av一区二| 精品国产自在久精品国产| 麻豆一区二区三区| 精品国产自在久精品国产| 欧美日韩成人综合天天影院| 亚洲国产美女搞黄色| 91.com在线观看| 日韩黄色免费网站| 国产情人综合久久777777| zzijzzij亚洲日本少妇熟睡| 成人欧美一区二区三区黑人麻豆 | 亚洲va天堂va国产va久| 9191精品国产综合久久久久久| 亚洲超碰97人人做人人爱| 欧美电视剧免费观看| 国产白丝网站精品污在线入口| 亚洲欧美综合另类在线卡通| 欧美视频在线一区| 久久99国产精品麻豆| 亚洲男人天堂av| 日韩欧美一卡二卡| eeuss鲁片一区二区三区| 午夜精品福利视频网站| 欧美精品一区二区在线观看| 99热这里都是精品| 免费三级欧美电影| 亚洲女与黑人做爰| 欧美精品一区二区三| 色综合咪咪久久| 精品一区二区三区在线播放| 亚洲日本在线视频观看| 欧美成人综合网站| 一本色道亚洲精品aⅴ| 精品中文av资源站在线观看| 亚洲免费观看高清完整| 久久久久久黄色| 欧美裸体一区二区三区| 成人sese在线| 久久国产日韩欧美精品| 亚洲一区二区三区四区不卡| 国产女同互慰高潮91漫画| 日韩你懂的在线播放| 欧美怡红院视频| 97精品电影院| 国产成人综合精品三级| 日本视频免费一区| 一卡二卡欧美日韩| 国产精品久久久久久久午夜片| 欧美大度的电影原声| 欧美日韩美少妇| 色久优优欧美色久优优| 国产成人精品www牛牛影视| 亚洲va欧美va国产va天堂影院| 亚洲啪啪综合av一区二区三区| 久久久综合精品| 欧美精品一区二区三区在线| 欧美日韩视频在线一区二区| 91免费视频网址| 99精品国产一区二区三区不卡| 国产99久久久精品| 国内成人免费视频| 久88久久88久久久| 久久精品国产免费| 男男成人高潮片免费网站| 亚洲最大成人综合| 亚洲美女屁股眼交| 亚洲免费在线视频| 一区二区三区在线观看视频| 国产精品久久福利| 中文字幕一区二区三区四区不卡| 国产欧美视频一区二区| 国产欧美一区二区三区在线老狼| 久久久久久久久久久黄色| 久久久久久毛片| 中文一区二区完整视频在线观看| 久久久综合视频| 亚洲国产岛国毛片在线| 国产精品乱人伦中文| 中文字幕中文字幕在线一区| 国产一区二区h| 国产成人aaa| eeuss影院一区二区三区| 91蜜桃网址入口| 在线观看成人小视频| 欧美熟乱第一页| 91精品国产色综合久久ai换脸| 3d动漫精品啪啪1区2区免费| 欧美日韩高清不卡| 日韩一卡二卡三卡四卡| 久久久影视传媒| 日韩毛片视频在线看| 伊人婷婷欧美激情| 午夜精品视频一区| 日一区二区三区| 韩日精品视频一区| 99在线热播精品免费| 欧美性感一区二区三区| 日韩女优电影在线观看| 国产精品日韩成人| 亚洲伦理在线精品| 日本不卡在线视频| 夫妻av一区二区| 欧美视频一区二区三区四区| 欧美一区日本一区韩国一区| 欧美成人猛片aaaaaaa| 国产精品全国免费观看高清| 一区二区三区高清在线| 蜜桃久久久久久久| 99r国产精品| 欧美一级免费大片| 欧美高清在线精品一区| 一个色综合网站| 国产一二三精品| 欧美视频一区在线观看| 国产日韩v精品一区二区| 亚洲五码中文字幕| 成人午夜电影网站| 欧美人狂配大交3d怪物一区| 国产欧美一区二区精品久导航| 亚洲一区二区三区精品在线| 寂寞少妇一区二区三区| 色婷婷av久久久久久久| 精品福利视频一区二区三区| 一区二区三区在线视频免费观看| 老司机精品视频线观看86| 91美女蜜桃在线| 2014亚洲片线观看视频免费| 午夜精品久久久久久久99樱桃| 国产黄色精品视频| 制服.丝袜.亚洲.中文.综合| 国产精品久久久久久一区二区三区| 欧美aⅴ一区二区三区视频| 色综合久久久久| 国产亚洲精品aa午夜观看| 日本sm残虐另类| 欧美伊人精品成人久久综合97 | 欧美高清一级片在线| 国产精品日韩成人| 韩国精品主播一区二区在线观看| 一本久久精品一区二区| 国产偷国产偷亚洲高清人白洁| 午夜精品成人在线| 欧美在线|欧美| 中文字幕一区二区三区在线不卡| 久久99国产精品久久99| 欧美久久一二区| 夜夜嗨av一区二区三区中文字幕| 国产成人精品三级| 国产无人区一区二区三区| 美女高潮久久久| 欧美一区二区三区在线视频| 一区二区三区中文字幕在线观看| 成人免费视频国产在线观看| 久久久久久久免费视频了| 韩国成人在线视频| 精品精品国产高清a毛片牛牛 | 久久电影国产免费久久电影| 欧美日韩一区在线| 亚洲一区二区三区四区在线观看| 色综合久久久久综合体桃花网| 国产精品妹子av| 成人国产在线观看| 国产精品国产成人国产三级 | 91丨porny丨国产| 中文字幕制服丝袜一区二区三区| 国产精品99久久久久久有的能看 | 成人久久视频在线观看| 欧美激情自拍偷拍| www.亚洲人| 亚洲人成伊人成综合网小说| 色94色欧美sute亚洲线路一ni | 久久久精品tv| 国产不卡在线播放| 中文字幕日本不卡| 色香色香欲天天天影视综合网| 亚洲精品免费在线| 欧美日韩精品专区| 韩国视频一区二区| 欧美激情一区二区三区| av电影在线观看一区| 一区二区三区在线视频观看| 欧美群妇大交群的观看方式| 日韩av网站免费在线| 26uuu亚洲综合色| 99久久免费视频.com| 樱桃国产成人精品视频| 91 com成人网| 丁香亚洲综合激情啪啪综合| 国产拍欧美日韩视频二区| 色综合久久99| 久久国产精品99精品国产| 国产精品欧美综合在线| 色国产精品一区在线观看| 久久国产尿小便嘘嘘尿| 亚洲欧洲精品一区二区三区不卡| 欧美视频精品在线观看|