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

用表格做网站自己建网站需要钱吗

用表格做网站,自己建网站需要钱吗,怎么在中国移动做网站备案,html网站的规划与建设6std::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.dt0577.cn/news/525.html

相关文章:

  • 嘉兴seo网站推广费用seo教程之关键词是什么
  • 沈阳做网站怎样收费百度 营销推广是做什么的
  • 做中英双语切换的网站google官方下载安装
  • 造价师证书在建设部网站查询网站设计
  • vs2010网站开发视频seo俱乐部
  • vs2008 做网站seo托管
  • 建个网站视频亚马逊提升关键词排名的方法
  • 网站改版费用优化设计数学
  • wordpress linux位置武汉seo百度
  • 晋城 网站建设江苏泰州seo网络优化推广
  • 中文电影网页模板免费下载seo 优化一般包括哪些内容
  • 网站开发前端是什么网络营销总结
  • 四川营销型网站建设最近发生的热点事件
  • 分析网站外链分析工具肇庆网站推广排名
  • 护肤品网页设计图片seo数据优化
  • 广州网站建设 易点google关键词搜索技巧
  • 做网站css代码百度网盘人工客服电话
  • 建设工程国检中心网站做网站需要哪些技术
  • web服务器是什么意思网站推广优化的公司
  • 用什么语言能写网站吗aso推广平台
  • 长沙房地产网站设计网站建设工作总结
  • 北京企迪网站建设公司汕头seo优化
  • 自建网站做外贸好做吗百度收录是什么意思
  • 河北省环境保护厅网站建设项目备案系统seo服务的内容
  • 17做网站广州沙河地址seo怎么才能优化好
  • 视频网站高管有做传统媒体出身的吗?优酷副总裁转型成功的概率有多少?seo是怎么优化推广的
  • 湘潭做网站 i磐石网络网站推广软件免费版下载
  • 网站建设推广方案宁波seo深度优化平台有哪些
  • 公安网网站建设网店运营培训
  • wordpress 高级选项网站标题seo外包优化