当前位置: 首页 > news >正文

广告网站设计怎么样seo公司哪里有

广告网站设计怎么样,seo公司哪里有,图片网站如何优化,广安发展建设集团有限公司门户网站#x1f497; #x1f497; 博客:小怡同学 #x1f497; #x1f497; 个人简介:编程小萌新 #x1f497; #x1f497; 如果博客对大家有用的话#xff0c;请点赞关注再收藏 #x1f31e; string() //注意事项#xff1a; 1.初始化列表随声明的顺序进行初始化 2.cons… 博客:小怡同学 个人简介:编程小萌新 如果博客对大家有用的话请点赞关注再收藏 string() //注意事项 1.初始化列表随声明的顺序进行初始化 2.const char* str nullptr 是错误写法编译器会报错 3.const char* str ‘\0’类型不匹配 4.capacity1 的原因是 _capacity是有效字符的数量加一是为了给‘\0’留空间 //构造函数 string(const char* str ) {_size strlen(str);_capacity _size;_str new char(_capacity 1);memcpy(_str, str, _size 1); }string() //这里重点注意深浅拷贝 浅拷贝也称位拷贝编译器只是将对象中的值拷贝过来.(如果自己没写拷贝函数编译器会自动生成浅拷贝的拷贝函数) 浅拷贝的两大缺陷 1.如果对象中管理资源最后就会导致多个对象共 享同一份资源. 2.当一个对象销毁时就会将该资源释放掉而此时另一些对象不知道该资源已经被释放以为 还有效所以当继续对资源进项操作时就会发生发生了访问违规。 深拷贝如果一个类中涉及到资源的管理其拷贝构造函数、赋值运算符重载以及析构函数必须要显式给出。一般情况都是按照深拷贝方式提供。 //拷贝构造函数 string(const string s){_size s._size;_capacity s._capacity;_str new char[s._capacity 1];memcpy(_str,s._str,_size1);}3.~string() //析构函数 ~string(){_size _capacity 0;delete[] _str;_str nullptr;}4. push_back() //尾插字符 void push_back(char c) {if (_size _capacity){int newcapacity _capacity 0 ? 4 : _capacity * 2;reserve(newcapacity);_str[_size] c;_str[_size] \0;} }5.append() //尾插字符串 void append(const char* str) {size_t len strlen(str);if (_size len _capacity){reserve(_sizelen);}/*strcpy(_str_size, str);*/memcpy(_str_size,str,len1);_size _size len; }6.insert() //在pos添加字符或字符串 string insert(size_t pos, size_t n,char c) {assert(pos _size);if (_sizen _capacity){reserve(_sizen);}size_t end _size;while (end pos end ! npos){_str[end n] _str[end];end--;}for (int i 0; i n; i){_str[posi] c;}_size n;return *this;}string insert(size_t pos, const char* str) {assert(pos _size);int len strlen(str);if (_size len _capacity){reserve(_size len);}size_t end _size;while (end pos end ! npos){_str[end len] _str[end];end--;}for (int i 0; i len; i){_str[pos i] str[i];}_size len;return *this; }7.erase() //消除从pos位置开始n个字符 string erase(size_t pos, size_t len npos) {assert(pos _size);if (len npos || pos len _size){_str[pos] \0;_size pos;}while (pos _size-len){_str[pos] _str[pos len];pos;}_size - len;return *this; }8.find() 返回c在string中第一次出现的位置 size_t find(char c, size_t pos 0) const {for (size_t i pos; i _size; i){if (_str[i] c){return i;}}} 返回子串s在string中第一次出现的位置size_t find(const char* s, size_t pos 0) const {char* str _str pos;while (*str){const char* scopy s;const char* strcopy str;while (*scopy *scopy *strcopy){scopy;strcopy; }if (*scopy \0){return str - _str;}else{str;}} return npos; }9.clear() //清理字符 void clear() {_size 0;_str[0] \0; }10.size() //返回有效字符大小 //这里const 是为了能让const对象和非const对象都能够调用 size_t size() const {return _size; }11.c_str() //返回字符串 //这里const 是为了能让const对象和非const对象都能够调用 const char* c_str() const {return _str; }12.capacity() //返回有效容量大小 //这里const 是为了能让const对象和非const对象都能够调用 size_t capacity() const {return _capacity; }13. operator bool operator(const string s)const {int ret memcmp(_str, s._str, _size s._size ? _size : s._size);return ret 0 ? _size s._size : ret 0; }14.operator bool operator(const string s))const {return s._size _size memcmp(_str, s._str, _size ) 0; }15.operator bool operator(const string s)const {return *this s *this s; }16.operator bool operator(const string s)const {return !(*this s); }17.operator bool operator(const string s)const {return !(*this s); }18.operator! bool operator!(const string s) {return !(*this s); }19.operator[] //可读可改 char operator[](size_t index) {assert(index _size);return _str[index]; } //只读不改 const char operator[](size_t index)const; {assert(index _size);return _str[index]; }20.operator string operator(string s)//这里调用拷贝构造不改变原对象 {if (this ! s){std::swap(_size, s._size);std::swap(_capacity, s._capacity);std::swap(_str, s._str);}return *this; }string operator(const string s) {if (s ! this){string tmp(s);std::swap(_size, tmp._size);std::swap(_capacity, tmp._capacity);std::swap(_str, tmp._str);} return *this; }21.operator //添加字符 string operator(char ch) {push_back(ch);return *this; } //添加字符串 string operator(const char* str) {append(str);return *this; }22.operator //输出输入流只能用引用接受和返回 ostream operator(ostream out, const string s) {for (auto ch : s){out ch;}return out; }23.operator ostream operator(ostream in, string s) {s.clear();char ch in.get();while (ch || ch ){ch in.get();}char buff[128];int i 0;while (ch ! ch ! \n){if (i 127){buff[i] \0;i 0;s buff;}s ch;ch in.get();}if (i ! 0){buff[i] \0;s buff;}return in; }24.resize() //设置有效字符大小如果比原先小则保持不变如果比原先大则在尾部添加。 void resize(size_t n, char c \0) {if (n _size){_size n;_str[_size] \0;}else{reserve(n);for (size_t i _size; i n; i){_str[i] c;}_size n;_str[_size] \0;} }25.reserve() //设置容量大小只增不减 void reserve(size_t n) {if (n _capacity){char* tmp new char[n 1];memcpy(tmp, _str, _size 1);_capacity n;delete[] _str;_str tmp; } }26.substr() string substr(size_t pos 0, size_t len npos) {assert(pos _size);int n 0;if (len npos || pos len _size){n _size - pos;}string tmp;tmp.reserve(n);for (size_t i pos; i posn; i){tmp_str[i];//为什么不加\0 }return tmp; }
http://www.w-s-a.com/news/709786/

相关文章:

  • 百度商桥怎样绑定网站百度推广登陆
  • 重庆网站建设论坛株洲论坛
  • 网站怎么做切换中英文济南广运建设公司网站
  • 网页游戏网站搭建免费建网站哪个模板多
  • 公司起名打分最准的免费网站直播网站app开发
  • 医疗器械类网站前置审批网站临时域名
  • 金融网站策划方案网站开发表格整体页面居中
  • 句容本地网站黄石下陆区建设局网站
  • 免费网站服务陕西省咸阳市建设银行网站
  • 网站建设活动计划做网站意义
  • 莱芜新闻主持人名单seo sem 外贸建站 网站建设 文化墙设计
  • 易语言可以做网站嘛赣州网站建设开发
  • 网站建设规范布局网站建设费往什么科目
  • 乐清手机网站设计哪个汽车网站汽贸店免费做
  • 网站建设课程总结报告推广软文
  • 企业网站哪里可以做烟台seo网站推广
  • 怎样建设网站优化珠海网站建设开发
  • 泰兴住房和城乡建设厅网站福州app开发
  • 免费制作公司网站seo前线
  • 导购网站怎么推广有网站源码怎么搭建网站
  • 网站开发问题杭州制作公司网站
  • 网站推广seo是什么wordpress 去除顶部
  • 建筑学不会画画影响大吗电子商务沙盘seo关键词
  • 重庆网站建设找承越上海建设工程招投标网
  • 网站建设四个步骤下单的网站建设教程
  • 网站建设合同的验收表响应式网站建设哪家好
  • 手机网站建设视频长沙百家号seo
  • 网站未备案怎么访问网站开发前端需要学什么
  • 正黄集团博弘建设官方网站wordpress设置固定链接和伪静态
  • wordpress 建网站视频如何实现网站生成网页