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

单位网址怎么编seo外包公司一般费用是多少

单位网址怎么编,seo外包公司一般费用是多少,创建全国文明城市工作方案,吉安好的网站建设公司上次讲了常用的接口#xff1a;C初阶#xff1a;初识STL、String类接口详细讲解#xff08;万字解析#xff09; 今天就来进行模拟实现啦 文章目录 1.基本结构与文件规划2.构造函数#xff08;constructor)2.1构造函数2.1.1无参有参分开2.1.2利用缺省参数合起来 2.2拷贝构…上次讲了常用的接口C初阶初识STL、String类接口详细讲解万字解析 今天就来进行模拟实现啦 文章目录 1.基本结构与文件规划2.构造函数constructor)2.1构造函数2.1.1无参有参分开2.1.2利用缺省参数合起来 2.2拷贝构造2.3模拟c_str()函数 3.析构函数destructor4.operator5.迭代器iterator6.1size()与capacity()6.2 reserve()函数 7. modify7.1push_back()、append()和operator7.2clear()和swap() 8.accessoperator[]9.npos10.find()函数11.insert()和erase()13.operator和operator 先看一下大概有哪些部分 1.基本结构与文件规划 string.h头文件包含类的全部(函数的声明与定义)test.cpp源文件进行调用test函数测试和完善功能 基本结构 namespace MyString {class string{public://各种函数private:int _size;//有效字符的数量int _capacity;//开的空间大小char* _str;//没有设计成模版就直接用char数组了}; }2.构造函数constructor) 2.1构造函数 2.1.1无参有参分开 string()//空参的{_size 0;_capacity 0;_str new char[1];_str[0] \0;}string(const char* str){_size strlen(str);_capacity _size;_str new char[_size 1];//加一是给 \0strcpy(_str, str);}2.1.2利用缺省参数合起来 string(const char* str)//不是 {_size strlen(str);_capacity _size;_str new char[_size 1];//加一是给 \0strcpy(_str, str);}2.2拷贝构造 string(const string s){_size s._size;_capacity s._capacity;_str new char[_capacity 1];strcpy(_str, s._str);}2.3模拟c_str()函数 目前还没有进行流插入和流提取的重构只能利用这个来输出string里的内容 const char* c_str()const {return _str; }利用test1函数来看是否正确 相同的命名空间会进行合并的 namespace MyString {void test1(){string s1;cout s1.c_str() endl;string s2(abc);cout s2.c_str() endl;string s3(s2);cout s3.c_str() endl;} }int main() {MyString::test1();return 0; }3.析构函数destructor ~string(){_size _capacity 0;delete[] _str;_str nullptr;} 4.operator string operator(const string s)//创建好新的空间复制跟赋值。再清理旧空间指向新的{char* tmp new char[s._capacity1];//创建好新空间strcpy(tmp, s._str);_size s._size;_capacity s._capacity;//复制跟赋值delete[] _str;_str tmp;//清理指向新的return *this;}5.迭代器iterator typedef char* iterator;typedef const char* const_iterator;iterator begin(){return _str;}iterator end(){return _str _size;}const_iterator begin()const{return _str;}const_iterator end()const{return _str _size;}#6.capacity 6.1size()与capacity() size_t size()const{return _size;}size_t capacity()const{return _capacity;}6.2 reserve()函数 void reserve(size_t n){if (n _capacity){_capacity n;char* tmp new char[_capacity 1];strcpy(tmp, _str);delete[]_str;_str tmp;//指向新的}}namespace MyString {void test2(){string s1;cout s1.size() endl;string s2(abc);cout s2.size() endl;string s3;s3 s2;cout s3.size() endl;cout s3.capacity() endl;} }int main() {MyString::test2();return 0; }7. modify 7.1push_back()、append()和operator void push_back(char c){if (_size _capacity){int newCapacity _capacity 0 ? 4 : 2 * _capacity;//有可能是空参构造reserve(newCapacity);}_str[_size] c;_str[_size] \0;}void append(const char* str){int len strlen(str);if (len _size _capacity){reserve(len _size);}strcpy(_str _size, str);_size len;}string operator(char c){push_back(c);return *this;}string operator(const char* str){append(str);return *this;}这里其实大家也能看到二者一个用于字符的添加一个用于字符串的添加。 其实就可以一个写成另外一个的重载 7.2clear()和swap() void clear(){_size 0;_str[0] \0;}void swap(string s){std::swap(*this, s);//使用库里的swap}对于swap我们可以去使用库里面的加上std就行了 namespace MyString {void test3(){string s1(abc);cout s1.c_str() endl;s1 a;cout s1.c_str() endl;s1 xxx;cout s1.c_str() endl;} }int main() {MyString::test3();return 0; }8.accessoperator[] char operator[](size_t index){return _str[index];}const char operator[](size_t index)const{return _str[index];}一个用于非常量一个用于常量 9.npos namespace MyString {class string{public://各种函数private:int _size;//有效字符的数量int _capacity;//开的空间大小char* _str;//没有设计成模版就直接用char数组了static size_t npos;};size_t string::npos -1; }10.find()函数 // 返回c在string中第一次出现的位置size_t find(char c, size_t pos 0) const//默认从0开始找{for (int i 0; i _size; i){if (_str[i] c){return i;}}return npos;}// 返回子串s在string中第一次出现的位置size_t find(const char* s, size_t pos 0) const{char* ret strstr(_str, s);//返回第一次出现的位置if (ret nullptr)//没找到{return npos;}return ret - _str ;}namespace MyString {void test4(){string s1(abc);cout s1.find(a) endl;cout s1.find(bc);} }int main() {MyString::test4();return 0; }11.insert()和erase() // 在pos位置上插入字符c/字符串str并返回该字符的位置string insert(size_t pos, char c){if (_size _capacity)//先看空间够不够{int newcapacity _capacity 0 ? 4 : 2 * _capacity;reserve(newcapacity);}//先向后移一格int end _size;// \0也往后while (end (int)pos)//pos一般为size_t类型此时end会整型提升有符号整数类型会被提升为无符号整数类型。{_str[end 1] _str[end];end--;}_str[pos] c;_size;return *this;}string insert(size_t pos, const char* str){int len strlen(str);if (_size len _capacity){reserve(_size len);}//先向后移len个格int end _size;// \0也往后while (end (int)pos){_str[end len] _str[end];end--;}strncpy(_str pos, str,len);_size len;return *this;}// 删除pos位置上的元素并返回该元素的下一个位置string erase(size_t pos, size_t len npos){if (len npos || len pos _size){_str[pos] \0;_size pos;}else{int start pos;while (_size - start - len1 0){_str[start] _str[start len];start;}}return *this;}测试 namespace MyString {void test5(){string s1(abc);cout s1.c_str() endl;int pos s1.find(bc);s1.insert(pos, xxx);cout s1.c_str() endl;s1.erase(pos,2);cout s1.c_str() endl;} }int main() {MyString::test5();return 0; } #12.substr()函数 string substr(size_t pos, size_t len npos){int end pos len;//end作为结束位置if (len npos || pos len _size){end _size;//当这两种情况结束位置就是最后\0了}//开始pos到end赋值到新的一个空间再返回string s;reserve(end - pos);for (int i pos; i end; i){s _str[i];}return s;}13.operator和operator ostream operator(ostream out, string s)//不需要放在类内不需要是友元{for (auto e : s){out e;}return out;}istream operator(istream in, string s){s.clear();char ch in.get();//使用cin拿不到空格和换行二者其实还是字符就用这个getwhile (ch ! ch ! \n){s ch;ch in.get();}return in;}测试 namespace MyString {void test6(){string s1;cin s1;cout s1 endl;int pos s1.find(b);string s2 s1.substr(pos, 2);cout s2 endl;} }int main() {MyString::test6();return 0; }好啦今天就到这里啦感谢大家支持
http://www.hkea.cn/news/14284532/

相关文章:

  • 以net结尾的网站手机网页怎么做出来的
  • 德骏网站建设php律师网站源码
  • 建设银行网站怎么查工资明细多导航织梦网站模板下载地址
  • 电子商务如何设计网站建设湖南省建设干部学校 网站
  • 网站常用颜色wordpress搜索即时显示
  • 怎么做网站计划跨境电商网站搭建
  • 做网站备案是什么意思企业在公司做的网站看不到
  • 可以提升自己的网站广州网站制作多少钱
  • 台州找人做网站网站上传空间下一步
  • 做海报可以借鉴的网站微网站模板前后台
  • 网站开发w亿玛酷1负责wordpress admin
  • 专做PPP项目网站西安百度快照优化
  • 广告网站做动图怎么做购物网站难做
  • 做汤的网站专业企业app开发制作
  • 南阳seo网站价格顺德网站制作案例信息
  • 珠海找工作哪个网站好怎么找到仿牌外贸出口公司的网站
  • 网站建设用什么框架好wordpress建站阿里云
  • 大型网站建设方案常见问题延吉做网站
  • 我要发布文章到网站上推广 哪些网站最好教育 wordpress模板下载
  • 深圳市哪些公司做网站好行政审批服务中心
  • 机票旅游网站建设下载赶集网招聘最新招聘
  • 济南网站建设推荐q479185700强涵wordpress xmlrpc漏洞
  • 昆明网站制作公司网站制作流程分为哪七步
  • 太原seo快速排名怎么样泉州seo管理
  • 有什么平台可以做网站云商城
  • 优酷专门给马天宇做的网站怎样在手机安装wordpress
  • 站优云seo优化开发助手app下载
  • 一 网站建设管理基本情况目前网站开发怎么兼顾手机
  • wordpress会员制网站wordpress网站主修改
  • 模板网站区别上海高端网站定制