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

企业网站排名提升软件能优化网络服务主要包括

企业网站排名提升软件能优化,网络服务主要包括,网站由那些组成,学做效果图需要多久一.string的基本概念 本质 string是C风格的字符串,而string本质是一个字符串 string和char * 区别 char * 是一个指针string是一个类,类内部封装了char *,管理这个字符串,是一个char * 型容器。 特点 string类内部封装了很多成…

在这里插入图片描述

一.string的基本概念

本质

string是C++风格的字符串,而string本质是一个字符串

string和char * 区别

  • char * 是一个指针
  • string是一个类,类内部封装了char *,管理这个字符串,是一个char * 型容器。

特点

string类内部封装了很多成员方法

例如:查找find,拷贝copy,删除delete替换replace,插入insert
string管理char*所分配的内存,不用担心复制越界和取值越界等,由类内部进行负责

二.string构造函数

以下是std::string的构造函数原型整理成表格的形式:

构造函数描述
string()默认构造函数
string(const char* s)使用C风格字符串构造函数
string(const char* s, size_t n)使用C风格字符串和长度构造函数
string(size_t n, char c)使用重复字符构造函数
string(const string& str)拷贝构造函数
string(string&& str) noexcept移动构造函数
template string(InputIterator first, InputIterator last)使用迭代器范围构造函数
string(initializer_list ilist)使用初始化列表构造函数
#include <iostream>
#include <string>
using namespace std;
int main() {//默认构造函数string str1;string str2("使用C风格字符串构造函数");string str3("使用C风格字符串和长度构造函数", 5);string str4(10, 'a');string str = "拷贝构造函数";string str5(str);string&& str6 = move("移动构造函数");str = "使用迭代器范围构造函数";string str7(str.begin(), str.end());string str8[2] = { "使用初始化", "列表构造函数" };cout << "wetr";cout << str1 << endl;cout << str2 << endl;cout << str3 << endl;cout << str4 << endl;cout << str5 << endl;cout << str6 << endl;cout << str7 << endl;cout << str8[1]<< str8[2] << endl;return 0;
}

![2023-09-01T01:46:05.png][1]

二.string的赋值操作

以下是std::string的赋值操作函数原型整理成表格的形式:

函数原型描述
string& operator=(const string& str)赋值运算符重载:从另一个字符串赋值
string& operator=(string&& str) noexcept赋值运算符重载:移动赋值
string& operator=(const char* s)赋值运算符重载:从C风格字符串赋值
string& operator=(char c)赋值运算符重载:从单个字符赋值
string& operator=(initializer_list<char> ilist)赋值运算符重载:从初始化列表赋值
string& assign(const string& str)成员函数:从另一个字符串赋值
string& assign(string&& str) noexcept成员函数:移动赋值
string& assign(const char* s)成员函数:从C风格字符串赋值
string& assign(const char* s, size_t n)成员函数:从C风格字符串和长度赋值
string& assign(size_t n, char c)成员函数:使用重复字符赋值
string& assign(initializer_list<char> ilist)成员函数:从初始化列表赋值
string& assign(const_iterator first, const_iterator last)成员函数:使用迭代器范围赋值
#include <iostream>
#include <string>
using namespace std;
int main() {string str1;str1 = "从另一个字符串赋值";cout << str1 << endl;str1 = move("移动赋值");cout << str1 << endl;str1 = "从C风格字符串赋值";cout << str1 << endl;string str = "  使用迭代器范围赋值";str1.assign(str.begin()+2, str.end());cout << str1 << endl;return 0;
}

![2023-09-01T02:02:34.png][2]

三.string拼接操作

以下是std::string的字符串拼接操作函数原型整理成表格的形式:

函数原型描述
string operator+(const string& lhs, const string& rhs)运算符重载:字符串与字符串的拼接
string operator+(const string& lhs, const char* rhs)运算符重载:字符串与C风格字符串的拼接
string operator+(const char* lhs, const string& rhs)运算符重载:C风格字符串与字符串的拼接
string operator+(const string& lhs, char rhs)运算符重载:字符串与单个字符的拼接
string operator+(char lhs, const string& rhs)运算符重载:单个字符与字符串的拼接
string& append(const string& str)成员函数:追加拼接另一个字符串
string& append(const string& str, size_t subpos, size_t sublen)成员函数:从另一个字符串的指定位置截取指定长度后进行拼接
string& append(const char* s)成员函数:追加拼接C风格字符串
string& append(const char* s, size_t n)成员函数:追加拼接C风格字符串的指定长度
string& append(size_t n, char c)成员函数:追加拼接指定数量的重复字符
string& append(initializer_list<char> ilist)成员函数:追加拼接初始化列表中的字符
#include <iostream>
#include <string>
using namespace std;
int main() {string str;string str1 = "01234567";str += "hello";str += string("word");str += (string("  word") + "20  ");str.append(str1, 5, 2);cout << str;return 0;
}

四.string的查找和替换

下面是关于std::string查找和替换的常用函数原型:

查找相关函数:

函数原型描述
size_t find(const string& str, size_t pos = 0) const noexcept;在字符串中查找另一个字符串的位置
size_t find(const char* s, size_t pos = 0) const;在字符串中查找C风格字符串的位置
size_t find(char c, size_t pos = 0) const noexcept;在字符串中查找字符的位置
size_t rfind(const string& str, size_t pos = npos) const noexcept;在字符串中从后往前查找另一个字符串的位置
size_t rfind(const char* s, size_t pos = npos) const;在字符串中从后往前查找C风格字符串的位置
size_t rfind(char c, size_t pos = npos) const noexcept;在字符串中从后往前查找字符的位置
size_t find_first_of(const string& str, size_t pos = 0) const noexcept;在字符串中查找第一个匹配另一个字符串中任意字符的位置
size_t find_first_of(const char* s, size_t pos = 0) const;在字符串中查找第一个匹配C风格字符串中任意字符的位置
size_t find_first_of(char c, size_t pos = 0) const noexcept;在字符串中查找第一个匹配字符的位置
size_t find_last_of(const string& str, size_t pos = npos) const noexcept;在字符串中从后往前查找第一个匹配另一个字符串中任意字符的位置
size_t find_last_of(const char* s, size_t pos = npos) const;在字符串中从后往前查找第一个匹配C风格字符串中任意字符的位置
size_t find_last_of(char c, size_t pos = npos) const noexcept;在字符串中从后往前查找第一个匹配字符的位置
size_t find_first_not_of(const string& str, size_t pos = 0) const noexcept;在字符串中查找第一个不匹配另一个字符串中任意字符的位置
size_t find_first_not_of(const char* s, size_t pos = 0) const;在字符串中查找第一个不匹配C风格字符串中任意字符的位置
size_t find_first_not_of(char c, size_t pos = 0) const noexcept;在字符串中查找第一个不匹配字符的位置
size_t find_last_not_of(const string& str, size_t pos = npos) const noexcept;在字符串中从后往前查找第一个不匹配另一个字符串中任意字符的位置
size_t find_last_not_of(const char* s, size_t pos = npos) const;在字符串中从后往前查找第一个不匹配C风格字符串中任意字符的位置
size_t find_last_not_of(char c, size_t pos = npos) const noexcept;在字符串中从后往前查找第一个不匹配字符的位置

替换相关函数:

函数原型描述
string& replace(size_t pos, size_t len, const string& str);替换指定位置和长度的子字符串为另一个字符串
string& replace(size_t pos, size_t len, const char* s);替换指定位置和长度的子字符串为C风格字符串
string& replace(size_t pos, size_t len, const char* s, size_t n);替换指定位置和长度的子字符串为C风格字符串的指定长度
string& replace(size_t pos, size_t len, size_t n, char c);替换指定位置和长度的子字符串为指定数量的重复字符
string& replace(iterator first, iterator last, const string& str);替换迭代器范围内的子字符串为另一个字符串
string& replace(iterator first, iterator last, const char* s);替换迭代器范围内的子字符串为C风格字符串
string& replace(iterator first, iterator last, const char* s, size_t n);替换迭代器范围内的子字符串为C风格字符串的指定长度
string& replace(iterator first, iterator last, size_t n, char c);替换迭代器范围内的子字符串为指定数量的重复字符
#include <iostream>
#include <string>
using namespace std;
int main() {string str = "1234578912345789";int a = str.find("78");cout << a << endl;a = str.rfind("78");cout << a << endl;//从下标1开始的三个字符替换成abcdstr.replace(1, 3, "abcd");cout << str << endl;return 0;
}

![2023-09-01T02:19:00.png][3]

五.string的字符串比较

下面是关于std::string比较的常用函数原型:

函数原型描述
int compare(const string& str) const noexcept;比较字符串和另一个字符串
int compare(size_t pos, size_t len, const string& str) const;比较字符串的子串和另一个字符串
int compare(const char* s) const;比较字符串和C风格字符串
int compare(size_t pos, size_t len, const char* s) const;比较字符串的子串和C风格字符串
int compare(size_t pos, size_t len, const char* s, size_t n) const;比较字符串的子串和指定长度的C风格字符串

上述函数通过返回整数值来表示比较的结果,其返回值的含义如下:

  • 返回值 < 0 表示当前字符串小于目标字符串。

  • 返回值 > 0 表示当前字符串大于目标字符串。

  • 返回值 = 0 表示当前字符串等于目标字符串。

    #include
    #include
    using namespace std;
    int main() {
    string str = “1234578912345789”;
    //从0下标开始的6个字符的子串,后一个的字串比较
    int m=str.compare(0,6, “12345789”, 6);
    cout << m << endl;
    return 0;
    }

六.string字符串存取

下面是关于std::string字符串存取的常用函数原型:

函数原型描述
char& operator[](size_t pos);访问字符串中指定位置的字符
const char& operator[](size_t pos) const;访问字符串中指定位置的字符(const版本)
char& at(size_t pos);访问字符串中指定位置的字符,带范围检查
const char& at(size_t pos) const;访问字符串中指定位置的字符,带范围检查(const版本)
char& front();访问字符串的第一个字符
const char& front() const;访问字符串的第一个字符(const版本)
char& back();访问字符串的最后一个字符
const char& back() const;访问字符串的最后一个字符(const版本)
const char* data() const noexcept;返回字符串数据的指针
const char* c_str() const noexcept;返回以空字符结尾的字符串的指针(C风格字符串)
const char* data() const noexcept;返回字符串数据的指针
const char* c_str() const noexcept;返回以空字符结尾的字符串的指针(C风格字符串)

这些函数允许您对std::string对象进行字符的存取操作,可以直接访问特定位置的字符,或者获取字符串的首尾字符。data()c_str()函数还可以返回字符串数据的指针(以及以空字符结尾的C风格字符串的指针),方便与C语言接口进行交互操作。请注意,在只读的场景下使用at()函数可以提供范围检查,避免越界访问。

七.string的插入和删除

下面是关于std::string插入和删除字符串的常用函数原型:

函数原型描述
string& insert(size_t pos, const string& str);在指定位置插入另一个字符串
string& insert(size_t pos, const string& str, size_t subpos, size_t sublen);在指定位置插入另一个字符串的子串
string& insert(size_t pos, const char* s);在指定位置插入C风格字符串
string& insert(size_t pos, const char* s, size_t n);在指定位置插入指定长度的C风格字符串
string& insert(size_t pos, size_t n, char c);在指定位置插入指定数量的字符
iterator insert(iterator p, char c);在指定位置插入单个字符
iterator insert(iterator p, size_t n, char c);在指定位置插入指定数量的字符
iterator insert(iterator p, InputIt first, InputIt last);在指定位置插入迭代器范围的字符
template <class InputIt> void insert(iterator p, InputIt first, InputIt last);在指定位置插入迭代器范围的字符
template <class InputIt> void insert(iterator p, initializer_list<typename InputIt::value_type> ilist);在指定位置插入初始化列表的字符
string& erase(size_t pos = 0, size_t len = npos);删除字符串的子串
iterator erase(iterator p);删除指定位置的字符
iterator erase(iterator first, iterator last);删除迭代器范围内的字符

这些插入和删除函数允许您在std::string对象中插入或删除字符串内容。通过这些函数,您可以在指定位置插入字符串、字符或字符范围,也可以删除字符串子串、指定位置的字符或一段字符范围。这些函数提供了灵活的方式来操作字符串,满足不同场景下的需求。

八.获得string的子串

以下是使用substr函数获取字符串子串的表格总结:

函数原型描述
string substr(size_t pos = 0, size_t len = npos) const;获取从指定位置开始的一段子串

示例:

std::string str = "Hello, World!";
std::string sub1 = str.substr(7);        // "World!"
std::string sub2 = str.substr(0, 5);     // "Hello"
std::string sub3 = str.substr(7, 5);     // "World"

使用substr函数,您可以方便地获得std::string的子串,通过指定起始位置和长度参数来进行操作。

九.函数接口

序号函数接口功能描述
1push_back©在字符串的末尾添加字符 c
2pop_back()删除字符串的最后一个字符
3resize(n)调整字符串的大小为 n
4resize(n, c)调整字符串的大小为 n,并将新增的元素初始化为字符 c
5front()返回字符串的第一个字符
6back()返回字符串的最后一个字符
7find_first_of(str)在字符串中查找字符串 str 中的任意字符第一次出现的位置
8find_first_not_of(str)在字符串中查找字符串 str 中的任意字符第一次不出现的位置
9find_last_of(str)在字符串中从后往前查找字符串 str 中的任意字符最后一次出现的位置
10find_last_not_of(str)在字符串中从后往前查找字符串 str 中的任意字符最后一次不出现的位置
11toLowerCase()将字符串中的字母全部转换为小写
12toUpperCase()将字符串中的字母全部转换为大写
13at(n)返回字符串中索引为 n 的字符
14operator[] (n)返回字符串中索引为 n 的字符
15substr(pos)返回从位置 pos 开始到字符串末尾的子字符串
16compare(pos, len, str)将字符串中从位置 pos 开始的长度为 len 的子字符串与字符串 str 比较
17getline(input_stream, str, delimiter)从输入流 input_stream 中读取一行文本,并将结果存储到字符串 str 中
18stoi(str)将字符串 str 转换为整数值
19stol(str)将字符串 str 转换为长整数值
20stof(str)将字符串 str 转换为浮点数值
21to_string(value)将值 value 转换为字符串
22find_last_of(str, pos)在字符串中从位置 pos 开始从后往前查找字符串 str 第一次出现的位置
23find_last_not_of(str, pos)在字符串中从位置 pos 开始从后往前查找字符串 str 第一次不出现的位置
24replace(pos, len, newstr, newlen)将字符串中从位置 pos 开始的长度为 len 的子字符串替换为新的字符串
25find_first_of(str, pos)在字符串中从位置 pos 开始查找字符串 str 中的任意字符第一次出现的位置
26find_first_not_of(str, pos)在字符串中从位置 pos 开始查找字符串 str 中的任意字符第一次不出现的位置
27compare(pos, len, str, subpos, sublen)将字符串中从位置 pos 开始的长度为 len 的子字符串与字符串 str 中从位置 subpos 开始的长度为 sublen 的子字符串进行比较
28replace(pos, len, str)将字符串中从位置 pos 开始的长度为 len 的子字符串替换为字符串 str
29capacity()返回字符串当前能够容纳的字符数
30reserve(n)将字符串的容量设置为至少为 n 个字符
31shrink_to_fit()将字符串的容量调整为与字符串的长度相匹配,以节省内存空间
32find_last_of(str, pos)在字符串中从位置 pos 开始从后往前查找字符串 str 中的任意字符最后一次出现的位置
33find_last_not_of(str, pos)在字符串中从位置 pos 开始从后往前查找字符串 str 中的任意字符最后一次不出现的位置
34replace(pos, len, newstr)将字符串中从位置 pos 开始的长度为 len 的子字符串替换为新的字符串
35replace(iterator1, iterator2, newstr)将迭代器 iterator1 和 iterator2 之间的子字符串替换为新的字符串
36copy(char_array, len, pos)将字符串中从位置 pos 开始的长度为 len 的子字符串复制到字符数组 char_array 中
37find_if(predicate)在字符串中查找满足谓词函数 predicate 的第一个字符的位置
38rfind(str)在字符串中从后往前查找子字符串 str 并返回第一次出现的位置
39rfind(str, pos)在字符串中从位置 pos 开始从后往前查找子字符串 str 并返回第一次出现的位置
40replace_if(predicate, newstr)将字符串中满足谓词函数 predicate 的字符替换为新的字符串

请注意,这里的表格仅提供了功能描述的简要介绍,具体的函数行为和参数要求请查阅官方文档以获取详细信息。


文章转载自:
http://soavemente.c7497.cn
http://donga.c7497.cn
http://dominical.c7497.cn
http://atonal.c7497.cn
http://lobulation.c7497.cn
http://exfacto.c7497.cn
http://negev.c7497.cn
http://tung.c7497.cn
http://phalanger.c7497.cn
http://reflexible.c7497.cn
http://karma.c7497.cn
http://diapsid.c7497.cn
http://infidelic.c7497.cn
http://polyploid.c7497.cn
http://gad.c7497.cn
http://luke.c7497.cn
http://fadedly.c7497.cn
http://prepsychotic.c7497.cn
http://duma.c7497.cn
http://gemmaceous.c7497.cn
http://qurush.c7497.cn
http://yill.c7497.cn
http://yahoo.c7497.cn
http://warm.c7497.cn
http://vasal.c7497.cn
http://ringent.c7497.cn
http://armure.c7497.cn
http://fille.c7497.cn
http://tokus.c7497.cn
http://clover.c7497.cn
http://misinterpretation.c7497.cn
http://rigidification.c7497.cn
http://hyposulfite.c7497.cn
http://supergravity.c7497.cn
http://oxblood.c7497.cn
http://macron.c7497.cn
http://carcajou.c7497.cn
http://sparkish.c7497.cn
http://counterirritant.c7497.cn
http://stepdame.c7497.cn
http://disconsider.c7497.cn
http://festoon.c7497.cn
http://frowzily.c7497.cn
http://washita.c7497.cn
http://ostraca.c7497.cn
http://hematoxylic.c7497.cn
http://jaguar.c7497.cn
http://retiredness.c7497.cn
http://dipteran.c7497.cn
http://igo.c7497.cn
http://nanhai.c7497.cn
http://kamaishi.c7497.cn
http://scaldingteass.c7497.cn
http://interstitial.c7497.cn
http://languette.c7497.cn
http://iglu.c7497.cn
http://mythologer.c7497.cn
http://selachian.c7497.cn
http://intoed.c7497.cn
http://attrite.c7497.cn
http://execution.c7497.cn
http://adolesce.c7497.cn
http://davida.c7497.cn
http://mestizo.c7497.cn
http://plena.c7497.cn
http://dental.c7497.cn
http://upheave.c7497.cn
http://hsv.c7497.cn
http://betatron.c7497.cn
http://dulcification.c7497.cn
http://jest.c7497.cn
http://kneed.c7497.cn
http://owl.c7497.cn
http://dogmata.c7497.cn
http://malice.c7497.cn
http://journalist.c7497.cn
http://lipogrammatic.c7497.cn
http://hessonite.c7497.cn
http://felucca.c7497.cn
http://brythonic.c7497.cn
http://congregationalist.c7497.cn
http://varicella.c7497.cn
http://onomancy.c7497.cn
http://monologuist.c7497.cn
http://resold.c7497.cn
http://torpex.c7497.cn
http://incremental.c7497.cn
http://alarmedly.c7497.cn
http://gunsmith.c7497.cn
http://unforeseen.c7497.cn
http://iberis.c7497.cn
http://elbow.c7497.cn
http://housemaster.c7497.cn
http://boast.c7497.cn
http://rattly.c7497.cn
http://nerve.c7497.cn
http://talentless.c7497.cn
http://iceboat.c7497.cn
http://hag.c7497.cn
http://chronical.c7497.cn
http://www.zhongyajixie.com/news/87160.html

相关文章:

  • 网站建设算无形资产吗成都今天宣布的最新疫情消息
  • 网站建设托管公司成都最好的seo外包
  • 做网站好还是app好广告公司接单软件
  • 用react做的网站外包公司有哪些
  • 免费做微信小程序网站优化方式有哪些
  • 网站开发都需要什么工作独立站seo推广
  • 寿光专业做网站的公司品牌网络推广
  • 如何做网站地图郴州seo网络优化
  • 网站建设多长时间中国十大互联网公司排名
  • 模板网官网免费深圳seo优化公司
  • 邯郸网站设计邯郸网站制作北京网上推广
  • 如何制作网站设计网站域名注册
  • 大图网 网站seo建站公司
  • wordpress 统计代码陕西seo优化
  • 武汉做企业网站朋友圈的广告推广怎么弄
  • 免费crm网站下载的软件平台如何做推广
  • 全景精灵网站建设温州企业网站排名优化
  • 网站做系统的靠什么挣钱常德网站建设公司
  • 成都网站建设是什么意思餐饮营销策划方案
  • 做家电维修网站能接到单吗g3云推广
  • 企业营销网站有哪些网络营销典型案例
  • 多元 集团 网站建设方案什么是指数基金
  • 百度怎么做关键词优化百度搜索优化软件
  • 专业做苗木的网站外贸接单平台网站
  • 学做软件的网站有哪些企业文化
  • 关于政府网站建设的研究报告友妙招链接怎么弄
  • 做棋牌网站赚钱吗seo发帖工具
  • 怎么搭建局域网网站友の 连接
  • pytson做网站安全吗新疆头条今日头条新闻
  • 河南城市建设网站上街网络推广