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

如何做京东商城一样的网站成都网站排名生客seo怎么样

如何做京东商城一样的网站,成都网站排名生客seo怎么样,免费生成ppt的网站,商丘网站建设软件公司1--string容器string 本质上是一个类#xff0c;其不同于指针 char*#xff0c;string 类的内部封装了 char*#xff0c;用于管理字符串#xff0c;是一个 char* 型的容器#xff1b;1-1--string构造函数string 的构造函数原型#xff1a;string(); // 创建一个空的字符串…1--string容器string 本质上是一个类其不同于指针 char*string 类的内部封装了 char*用于管理字符串是一个 char* 型的容器1-1--string构造函数string 的构造函数原型string(); // 创建一个空的字符串string(const char* s); // 使用字符串 s 进行初始化string(const string str); // 使用一个 string 对象初始化另一个 string 对象string(int n, char c); // 使用 n 个字符 c 进行初始化代码实例#include iostream #include string int main(int argc, char* argv[]){// string(); // 创建一个空的字符串std::string s1;// string(const char* s); // 使用字符串 s 进行初始化const char* str hello world;std::string s2(str);// string(const string str); // 使用一个 string 对象初始化另一个 string 对象std::string s3(s2);// string(int n, char c); // 使用 n 个字符 c 进行初始化std::string s4(10, a);std::cout s1: s1 std::endl;std::cout s2: s2 std::endl;std::cout s3: s3 std::endl;std::cout s4: s4 std::endl;return 0; }1-2--string赋值操作string 赋值操作的函数原型string operator(const char* s); // 将 char* 类型的字符串赋值给当前字符串string operator(const string s); // 将字符串 s 赋给当前的字符串string operator(char c); // 将字符 c 赋给当前的字符串string assign(const char *s); // 将字符串 s 赋给当前字符串string assign(const char *s, int n); // 将字符串 s 的前 n 个字符赋给当前的字符串string assign(const string s); // 将字符串 s 赋给当前字符串string assign(int n, char c); // 将 n 个字符 c 赋给当前字符串代码实例#include iostream #include string int main(int argc, char* argv[]){// string operator(const char* s); // 将 char* 类型的字符串赋值给当前字符串std::string str1;str1 hello world;std::cout str1 str1 std::endl;// string operator(const string s); // 将字符串 s 赋给当前的字符串std::string str2;str2 str1;std::cout str2 str2 std::endl;// string operator(char c); // 将字符 c 赋给当前的字符串std::string str3;str3 a;std::cout str3 str3 std::endl;// string assign(const char *s); // 将字符串 s 赋给当前字符串std::string str4;str4.assign(hello C);std::cout str4 str4 std::endl;// string assign(const char *s, int n); // 将字符串 s 的前 n 个字符赋给当前的字符串std::string str5;str5.assign(hello C, 5);std::cout str5 str5 std::endl;// string assign(const string s); // 将字符串 s 赋给当前字符串std::string str6;str6.assign(str5);std::cout str6 str6 std::endl;// string assign(int n, char c); // 将 n 个字符 c 赋给当前字符串std::string str7;str7.assign(10, w);std::cout str7 str7 std::endl;return 0; }1-3--string字符串拼接string 实现在字符串末尾拼接字符串其函数原型如下string operator(const char* str); // 重载操作符来拼接string operator(const char c); // 重载操作符来拼接string operator(const string str); // 重载操作符来拼接string append(const char *s); // 把字符串 s 拼接到当前字符串末尾string append(const char *s, int n); // 把字符串 s 的前 n 个字符拼接到当前字符串末尾string append(const string s); // 把字符串 s 拼接到当前字符串末尾string append(const string s, int pos, int n); // 把字符串 s 从 pos 位置开始截取 n 个字符拼接到当前字符串末尾#include iostream #include string int main(int argc, char* argv[]){std::string str1 I;str1 Love sleeping;std::cout str1: str1 std::endl;std::string str2 and eating.;str1 str2;std::cout str1: str1 std::endl;std::string str3 I;str3.append( Love);std::cout str3: str3 std::endl;str3.append( game abcd, 5); // 前 n 个字符std::cout str3: str3 std::endl;str3.append(str2, 0, 4); // 截取字符串规定位置作为拼接 第2个参数表示截取的起始位置第3个参数表示截取字符的个数std::cout str3: str3 std::endl;return 0; }1-4--string查找与替换 查找查找指定字符串是否存在 替换在指定的位置替换字符串函数原型 int find(const string str, int pos 0) const; // 查找str第一次出现的位置从pos开始查找 int find(const char* s, int pos 0) const; // 查找s第一次出现的位置从pos开始查找 int find(const char* s, int pos, int n) const; // 从 pos 位置查找s的前n个字符 int find(const char c, int pos 0) const; // 查找字符c第一次出现的位置 int rfind(const string str, int pos npos) const; // 查找str第一次出现的位置从pos开始查找(从右往左) int rfind(const char* s, int pos npos) const; // 查找s出现的位置从pos开始查找(从右往左) int rfind(const char* s, int pos, int n) const; // 从 pos 位置查找s的前n个字符(从右往左) int rfind(const char c, int pos 0) const; // 查找字符c出现的位置(从右往左) string replace(int pos, int n, const string str); // 替换从pos开始n个字符为字符串str string replace(int pos, int n, const char* s); // 替换从pos开始n个字符为字符串s代码实例#include iostream #include string int main(int argc, char* argv[]){std::string str1 abcdabcd;// 从左往右查找int pos str1.find(cd);if (pos -1){std::cout The dst string is not exist;}else{std::cout Find the string, the start pos is: pos std::endl;}// 从右往左查找int pos2 str1.rfind(cd);if (pos2 -1){std::cout The dst string is not exist;}else{std::cout Find the string, the start pos is: pos2 std::endl;}// 替换std::string str2 abcdefg;str2.replace(1, 3, 123456); // 先在原字符串从位置 1 开始删除 3 个字符再将目标字符串复制到原字符串std::cout str2: str2 std::endl;return 0; }1-5--string字符串比较字符串比较是按字符的 ASCII 码进行比较有以下三种情况① 返回 0 ② 返回1③ 返回 -1函数原型 int compare(const string s) const; // 与字符串 s 比较 int compare(const char *s) const; // 与字符串 s 比较#include iostream #include string int main(int argc, char* argv[]){std::string str1 C;std::string str2 C;if(str1.compare(str2) 0){std::cout str1 str2 std::endl;}else if(str1.compare(str2) 0){std::cout str1 str2 std::endl;}else{std::cout str1 str2 std::endl;}return 0; }1-6--string字符串存取string中单个字符存取方式有两种char operator[](int n); // 通过[]方式取字符char at(int n); // 通过at方法获取字符#include iostream #include string int main(int argc, char* argv[]){std::string str1 Hello;std::cout str1: str1 std::endl;// 通过[]访问单个字符for(int i 0; i str1.size(); i){std::cout str1[i] ;}std::cout std::endl;// 通过at访问单个字符for(int i 0; i str1.size(); i){std::cout str1.at(i) ;}std::cout std::endl;// 修改单个字符str1[0] A;str1.at(1) B;std::cout str1: str1 std::endl;return 0; }1-7--string字符串插入和删除对 string 字符串进行插入和删除字符操作其函数原型如下string insert(int pos, const char* s); // 插入字符串string insert(int pos, const string str); // 插入字符串string insert(int pos, int n, char c); // 在指定位置插入 n 个字符cstring erase(int pos, int n npos); // 删除从 Pos 开始的 n 个字符#include iostream #include string int main(int argc, char* argv[]){std::string str1 Hello;std::cout str1: str1 std::endl;// 插入字符串str1.insert(1, AAA); // 第一个参数表示插入的位置第二个参数表示插入的字符串std::cout str1: str1 std::endl;// 删除字符串str1.erase(1, 3); // 第一个参数表示删除的位置第二个参数表示删除的个数std::cout str1: str1 std::endl;return 0; }1-8--获取string子串在规定位置截取string字符串的子串其函数原型如下std::string substr(int pos 0, int n npos) const; // 返回由pos开始的n个字符组成的字符串#include iostream #include string int main(int argc, char* argv[]){std::string str1 123456sysu.edu.cn;int pos str1.find();std::string subStr str1.substr(0, pos);std::cout subStr subStr std::endl;return 0; }2--vector容器 vector 数据结构与数组类似被称为单端数组 vector 与普通数组的区别在于普通数组时静态空间而 vector 可以动态扩展2-1--vector构造函数用于创建 vector 容器其函数原型如下vectorT v; // 默认构造函数vector(v.begin(), v.end()); // 将v[begin(), end()]区间中的元素拷贝到容器vector(n, elem); // 构造函数将n个elem拷贝到容器vector(const vector vec); // 拷贝构造函数# include iostream # include vector // # include string // # include algorithm // 标准算法的头文件void printVector(std::vectorint v){for(std::vectorint::iterator it v.begin(); it ! v.end(); it){std::cout *it ;}std::cout std::endl; }void test01(){std::vectorintv1; // 默认构造for(int i 0; i 10; i){v1.push_back(i);}printVector(v1);std::vectorintv2(v1.begin(), v1.end()); // 利用区间进行构造printVector(v2);// n 个 elem 方式构造std::vectorintv3(10, 100); // 10个100printVector(v3);//拷贝构造std::vectorintv4(v3);printVector(v4); }int main(){test01();return 0; } 2-2--vector赋值操作vector容器赋值操作的函数原型如下vector operator(const vector vec); // 重载等号操作符assign(beg, end); // 将[beg, end]区间中的数据拷贝赋值给容器assign(n, elem); // 将n个elem拷贝赋值给容器# include iostream # include vectorvoid printVector(std::vectorint v){for(std::vectorint::iterator it v.begin(); it ! v.end(); it){std::cout *it ;}std::cout std::endl; }void test01(){std::vectorintv1; for(int i 0; i 10; i){v1.push_back(i);}printVector(v1);// 赋值std::vectorint v2;v2 v1;printVector(v2);// assign赋值std::vectorint v3;v3.assign(v1.begin(), v1.end());printVector(v3);std::vectorint v4;v4.assign(10, 100);printVector(v4); }int main(){test01();return 0; }2-3--vector容器的容量和大小 通过以下函数可以对vector容器的容量和大小进行操作empty(); // 判断容器是否为空capacity(); // 容器的容量size(); // 返回容器中元素的个数resize(int num); // 重新指定容器的长度为num若容器变长则以默认值填充新位置如果容器变短则末尾超出容器长度的元素将会被删除resize(int num, elem); // 重新指定容器的长度为num若容器变长则以elem值填充新位置如果容器变短则末尾超出容器长度的元素将会被删除# include iostream # include vector // # include string // # include algorithm // 标准算法的头文件void printVector(std::vectorint v){for(std::vectorint::iterator it v.begin(); it ! v.end(); it){std::cout *it ;}std::cout std::endl; }void test01(){std::vectorintv1; for(int i 0; i 10; i){v1.push_back(i);}printVector(v1);if(v1.empty()){std::cout The vector is empty std::endl;}else{std::cout The vector is not empty std::endl;std::cout The capacity is: v1.capacity() std::endl;std::cout The size is: v1.size() std::endl;}// resizev1.resize(15);printVector(v1); // 默认以0填充v1.resize(20, 1);printVector(v1);v1.resize(10);printVector(v1);}int main(){test01();return 0; }2-4--vector的插入和删除通过以下函数实现对vector容器的插入和删除push_back(ele); // 尾部插入元素elepop_back(); // 删除最后一个元素insert(const_iterator pos, ele); // 迭代器指向位置pos插入元素eleinsert(const_iterator pos, int count, ele); // 迭代器指向位置pos插入count个元素eleerase(const_iterator pos); // 删除迭代器指向的元素erase(const_iterator start, const_iterator end); // 删除迭代器从start到end之间的元素clear(); // 删除容器中所有元素# include iostream # include vector // # include string // # include algorithm // 标准算法的头文件void printVector(std::vectorint v){for(std::vectorint::iterator it v.begin(); it ! v.end(); it){std::cout *it ;}std::cout std::endl; }void test01(){std::vectorintv1; // 尾插v1.push_back(10);v1.push_back(20);v1.push_back(30);printVector(v1);// 尾删v1.pop_back();printVector(v1);// 插入v1.insert(v1.begin(), 1);printVector(v1);v1.insert(v1.begin(), 2, 66); // 开头插入2个66printVector(v1);v1.erase(v1.begin());printVector(v1);v1.erase(v1.begin(), v1.end() - 1);printVector(v1);v1.clear();printVector(v1); }int main(){test01();return 0; }2-5--vector数据存取使用以下函数可以实现对vector容器的数据存取at(int idx); // 返回索引idx所指的数据operator[]; // 返回索引idx所指的数据front(); // 返回容器中第一个数据元素back(); // 返回容器中最后一个数据元素# include iostream # include vector // # include string // # include algorithm // 标准算法的头文件void printVector(std::vectorint v){for(std::vectorint::iterator it v.begin(); it ! v.end(); it){std::cout *it ;}std::cout std::endl; }void test01(){std::vectorintv1; for(int i 0; i 10; i){v1.push_back(i);}// 通过[]访问for(int i 0; i v1.size(); i){std::cout v1[i] ;}std::cout std::endl;// 通过at访问for(int i 0; i v1.size(); i){std::cout v1.at(i) ;}std::cout std::endl;// 获取第一个元素std::cout The first elem is: v1.front() std::endl;// 获取最后一个元素std::cout The last elem is: v1.back() std::endl;}int main(){test01();return 0; }2-6--vector容器互换通过以下函数实现两个容器的互换swap(vec); // 将vec容器的元素和原来容器的元素进行互换 # include iostream # include vector // # include string // # include algorithm // 标准算法的头文件void printVector(std::vectorint v){for(std::vectorint::iterator it v.begin(); it ! v.end(); it){std::cout *it ;}std::cout std::endl; }void test01(){std::vectorintv1; for(int i 0; i 10; i){v1.push_back(i);}std::vectorint v2;for(int i 10; i 0; i--){v2.push_back(i);}std::cout 互换前: std::endl;printVector(v1);printVector(v2);std::cout 互换后: std::endl;v1.swap(v2);printVector(v1);printVector(v2);}void test02(){std::vectorintv1; for(int i 0; i 100000; i){v1.push_back(i);}std::cout v1.capacity: v1.capacity() std::endl;std::cout v1.size: v1.size() std::endl;v1.resize(3); // 重新指定大小但容量并没有减少std::cout v1.capacity: v1.capacity() std::endl;std::cout v1.size: v1.size() std::endl;// 使用swap收缩内存std::vectorint(v1).swap(v1); // std::vectorint(v1)匿名对象std::cout v1.capacity: v1.capacity() std::endl;std::cout v1.size: v1.size() std::endl;}int main(){test02();return 0; }2-7--vector预留空间通过预留空间可以减少vector在动态扩展容量时的扩展次数reserve(int len); // 容器预留 len 个元素长度预留位置不初始化元素不可访问# include iostream # include vector // # include string // # include algorithm // 标准算法的头文件void printVector(std::vectorint v){for(std::vectorint::iterator it v.begin(); it ! v.end(); it){std::cout *it ;}std::cout std::endl; }void test01(){std::vectorintv1; int num1 0; // 统计开辟次数int *p1 NULL;for(int i 0; i 100000; i){v1.push_back(i);if(p1 ! v1[0]){p1 v1[0];num1;}}std::cout num: num1 std::endl;// 利用reserve()预留空间std::vectorintv2; v2.reserve(100000);int num2 0; // 统计开辟次数int *p2 NULL;for(int i 0; i 100000; i){v2.push_back(i);if(p2 ! v2[0]){p2 v2[0];num2;}}std::cout num: num2 std::endl; }int main(){test01();return 0; }
http://www.w-s-a.com/news/418165/

相关文章:

  • 纯静态网站怎么做淄博seo开发
  • 江西新农村建设权威网站盐步网站制作
  • 网站ui设计例子怎么做打鱼网站
  • 在1688做公司网站wordpress category
  • 单页面 网站 模板网站代理公司
  • 手机网站底部电话代码网站后台点击添加图片没有反应
  • 龙岩建设局网站声明自学制作网站难不难
  • 济南网站优化小黑godaddy中文网站开发
  • 做微课常用的网站广州seo优化推广
  • 主机屋如何做网站电脑网页游戏大全
  • 工作网站建设中布线费用账务处理特色的重庆网站推广
  • dede 网站地图模板htm写作网站水平哪个最好
  • 服务器上的网站erp教学零基础入门
  • 网站建设58设计资料网站
  • 如何把动态图发网站做头像网页设计实训报告小结
  • 做简历用的网站wordpress版权说明
  • 网站关键词有哪些网站新闻前置审批
  • 怎么自己注册网站义乌做公司网站
  • 做哪种网站赚钱苏州住房城乡建设部网站
  • 镇江做网站学编程学哪一种比较好
  • 华美天一建筑公司网站赚钱做任务的网站有哪些
  • asp网站打开速度慢家乡网页设计教程
  • 网站 设计 深圳书店网站的建设
  • 北京网络营销推广培训哪家好南宁软件优化网站建设
  • flash网站引导页仓库管理系统源码
  • 济南网站制作公司排名营销型网站管理系统
  • 公司网站设计要多少钱用什么做网站的访问量统计
  • 湖北省住房和城乡建设厅门户网站沈阳网络平台推广公司
  • 河南平台网站建设公司网站如何提高转化率
  • 网站及推广wordpress 分享主题