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

wordpress获取自定类型哪里可以学seo课程

wordpress获取自定类型,哪里可以学seo课程,南昌市建设规费标准网站,最好的网站开发std::string是C标准库中的一个基本类模板,专门用于处理字符串。它提供了一个可变长度的字符序列,以及一系列用于字符串操作的方法。std::string是值类型,这意味着当它作为函数参数传递或赋值时,整个字符串数据会被复制。 std::st…

std::string是C++标准库中的一个基本类模板,专门用于处理字符串。它提供了一个可变长度的字符序列,以及一系列用于字符串操作的方法。std::string是值类型,这意味着当它作为函数参数传递或赋值时,整个字符串数据会被复制。

std::string的特性:

  • 可变长度:std::string可以动态地调整大小以存储不同长度的字符串
  • 随机访问:std::string可以通过索引随机访问字符
  • 自动内存管理:无需手动管理内存,std::string会自动分配和释放内存
  • 模板类:std::string是一个模板类,但通常用于char类型的字符串

std::string对象通常包含了一个指向堆上分配的内存的指针,用于存储较长的字符串。较短的字符串可能会直接存在对象本身的内部缓冲区,有些实现还会使用一个独立的缓冲区来存储字符串内容。

std::string提供了一系列成员函数来操作对象:

  • 构造函数

    • std::string():默认构造一个空字符串

    • std::string(const char* str):从C风格字符串构造

    • std::string(const std::string& str):拷贝构造函数,深拷贝

      std::string str = "abc12345";  // 创建一个字符串,并进行初始化
      std::cout << str << std::endl;  // abc12345std::string new_str1(str);  // 拷贝构造,深拷贝
      std::cout << str << std::endl;  // abc12345
      std::cout << new_str1 << std::endl;  // abc12345std::string new_str2(std::move(str));  // 移动构造
      std::cout << str.size() << std::endl;  // 0
      std::cout << new_str2 << std::endl;  // abc12345
      
      std::string str = "abc12345";  // 创建一个字符串,并进行初始化
      const char* cstr = str.c_str();  // c_str()返回指向字符串第一个字符的指针
      std::cout << *cstr << std::endl;  // a
      std::cout << cstr << std::endl;  // abc12345c_str()返回的指针指向的是一个只读的C风格字符串,这意味着不能通过这个指针来修改std::string对象中字符串的内容。
      
  • 赋值操作

    • 赋值运行符 =:将一个字符串的内容复制给另一个字符串

    • swap(std::string& other):交换两个字符串的内容

      std::string str = "abc12345";  // 创建一个字符串,并进行初始化std::string new_str = str;  // 赋值操作,深拷贝
      std::cout << str << std::endl;  // abc12345
      std::cout << new_str << std::endl;  // abc12345std::string swap_str = "678";
      str.swap(swap_str);  // 交换两个字符串
      std::cout << str << std::endl;  // 678
      std::cout << swap_str << std::endl;  // abc12345
      
  • 连接字符串

    • operator +:连接两个字符串

    • operator +=:将另一个字符串连接到当前字符串

      std::string str = "abc12345";  // 创建一个字符串,并进行初始化
      std::string new_str = "678";std::string conn_str = str + new_str;  // 连接字符串
      std::cout << conn_str << std::endl;  // abc12345678
      
  • 访问字符

    • operator[]:通过索引访问字符串中的字符

    • at(size_type n):通过索引访问字符串中的字符,带边界检查

    • front():返回字符串中的第一个字符

    • back():返回字符串中的最后一个字符

      std::string str = "abc12345";  // 创建一个字符串,并进行初始化
      std::cout << str[1] << std::endl;  // 访问索引为1的字符,b
      std::cout << str.at(7) << std::endl;  // 访问索引为7的字符,5
      std::cout << str.front() << std::endl;  // 返回第一个字符,a
      std::cout << str.back() << std::endl;  // 返回最后一个字符,5
      
  • 查找和替换

    • find():在字符串中查找子字符串或字符

    • replace():替换字符串中的部分内容

      std::string str = "abc12345cba";  // 创建一个字符串,并进行初始化
      std::cout << str.find("b") << std::endl;  // 查找字符串中从左到右的第一个字符b,并返回其索引,1
      std::cout << str.rfind("b") << std::endl;  // 查找字符串中从右到左的第一个字符b,并返回其索引,9
      std::cout << str.find("abc") << std::endl;  // 查找字符串中的子字符串,返回其开头索引,0
      std::cout << str.find("abcd") << std::endl;  // 若查找不到子字符串或字符,则返回一个随机数,18446744073709551615str.replace(3, 5, "321");  // 从索引为3的字符开始,将5个字符换成321
      std::cout << str << std::endl;  // abc321cba
      
  • 修改字符串

    • push_back(char ch):在字符串末尾添加一个字符

    • pop_back():移除字符串末尾的字符

    • append(std::string& other):在字符串末尾添加一个字符串

    • erase():删除字符串中的指定位置或指定范围的字符

    • assign(std::string& other):用新的字符串替换原有内容

    • insert():在指定位置插入字符或字符串

    • resize():修改字符串的大小

    • clear():清空字符串

      std::string str = "abc12345";  // 创建一个字符串,并进行初始化str.push_back('A');  // 字符串末尾添加一个字符
      std::cout << str << std::endl;  // abc12345Astr.pop_back();  // 移除字符串末尾的字符
      std::cout << str << std::endl;  // abc12345str.append("678A");  // 字符串末尾添加字符串
      std::cout << str << std::endl;  // abc12345678Astr.erase(5);  // 删除字符串中索引为5及以后的字符
      std::cout << str << std::endl;  // abc12
      str.erase(1, 3);  // 删除字符串中索引从1开始的3个字符
      std::cout << str << std::endl;  // a2str.assign("678");  // 用新的字符串替换掉原来的字符串
      std::cout << str << std::endl;  // 678str.clear();  // 清空字符串
      std::cout << str.size() << std::endl;  // 0
      
  • 子字符串

    • substr():提取子字符串

      std::string str = "abc12345";  // 创建一个字符串,并进行初始化
      std::string sub_str = str.substr(2, 4);  // 提取从索引2开始共4个字符的子字符串
      std::cout << sub_str << std::endl;  // c123
      
  • 容量

    • length():返回字符串的长度

    • size():返回字符串中的字符数量,也就是字符串长度

    • capacity():返回字符串的容量

    • reserve():更改容量

      std::string str = "abc12345";  // 创建一个字符串,并进行初始化
      std::cout << str.length() << std::endl;  // 8
      std::cout << str.size() << std::endl;  // 8
      std::cout << str.capacity() << std::endl;  // 15str.push_back('6');
      std::cout << str.capacity() << std::endl;  // 15str.reserve(20);  // 更改容量,容量会变得更大,但不一定是给出的值,因为容量的变化是按照指数或线性规律来的
      std::cout << str.capacity() << std::endl;  // 31长度表示字符串当前实际包含的字符数,而容量表示分配给字符数组的内存空间大小。当字符串的长度超过容量时,std::string会重新分配更大的内存空间,并将原有的字符复制到新的内存位置。当std::string对象的生命周期结束时,它会自动释放所分配的内存,不需要手动调用delete或free()释放字符串的内存,因为std::string类会在对象销毁时自动调用相应的析构函数来释放内存。与C语言中的字符串类似,std::string的底层实现也会在字符数组的末尾添加一个空终止字符(‘\0’),以表示字符串的结束。这样可以使得std::string类的接口与标准C字符串函数兼容,但是std::string的size()length()不会统计('\0')。
      
  • 迭代器

    • begin():返回指向第一个字符的迭代器

    • end():返回指向尾后一位的迭代器

      std::string str = "abc12345";  // 创建一个字符串,并进行初始化
      for (auto it = str.begin(); it != str.end(); ++it) {std::cout << *it << std::endl;  // a b c 1 2 3 4 5
      }
      for (auto value : str) {std::cout << value << std::endl;  // a b c 1 2 3 4 5
      }
      
  • 其他成员函数

    • data():返回指向字符串第一个字符的指针
    • c_str():返回指向字符串第一个字符的指针
    • empty():检查字符串是否为空
http://www.hrbkazy.com/news/27807.html

相关文章:

  • 企业网站群建设规范郑州seo代理外包公司
  • 广东网站建设服务电商热门关键词
  • 兔展在线制作网站东莞企业网站排名
  • 做pc端网站案例广告网址
  • 外贸行业网络推广seo是什么的缩写
  • 建站平台备案市场策划方案
  • 吉林测试网站建设检修seo咨询推广找推推蛙
  • 做搞基视频网站软文推广
  • 药品在哪些网站做推广产品推广策略
  • 做网站可以用自己的主机怎样优化网络
  • 可以免费下载ppt模板的网站今日国际新闻最新消息大事
  • 做分析图的网站线上营销推广方案有哪些
  • 狮岭做包包的网站推广网站要注意什么
  • cms wordpress 企业杭州seo俱乐部
  • 网站 黑白潍坊seo计费
  • erp网站开发百度应用下载
  • 视频会议系统直播聊天网站开发市场营销的对象有哪些
  • 科技之全球垄断2022年seo还值得做吗
  • 顶顶呱网站建设seo图片优化的方法
  • 企业手机网站建设策划方案域名注册管理中心网站
  • 深圳门窗在哪里网站做推广免费的网站申请
  • cms管理手机网站模板下载网站建设公司哪个好呀
  • wordpress的日志形式怎么用天津seo顾问
  • 企业网站可以做跨境电商吗seo平台代理
  • 做网站要什么知识条件搜索引擎平台排名
  • 网站空间免备案刷百度关键词排名
  • 经常使用( )对网页的布局进行控制seo排名技术教程
  • 网页设计学习教程排名优化外包公司
  • 自己可以做装修效果图的网站青岛网站建设公司
  • 上海网站的优化公司seo查询爱站