首页 > 其他分享 >STL---常用容器

STL---常用容器

时间:2024-12-10 12:54:11浏览次数:4  
标签:char 初始化 const string 容器 STL --- str 字符串

string容器

string基本概念
本质:
string是C++风格的字符串,而string本质上是个类

string和char*区别:
char是个指针
string是一个类,类内部封装了char
,管理这个字符串,是一个char*型的容器

特点
string类内部封装了很多成员方法
例如:查找find,拷贝copy,删除delete 替换replace,插入insert
string管理char*所分配的内存,不用担心赋值越界和取值越界等,由类内部进行负责

string构造函数
构造函数原型:

string(); //创建一个空的字符串 例如:string str;
string(const char* s); //使用字符串s初始化
string(const string& str); //使用一个string对象初始化另一个string对象
string(int n,cahr c); //使用n个字符c初始化

示例:

#include <iostream>
using namespace std;
#include <string>
#include <vector>
#include <algorithm> //标准算法的头文件

//string的构造函数

//string();                  //创建一个空的字符串 例如:string str
//string(const char* s);     //使用字符串s初始化
//string(const string& str); //使用一个string对象初始化另一个string对象
//string(int n,char c);      //使用n个字符c初始化
void test01()
{
    string s1; //默认构造

    const char* str="hello world";
    string s2(str);

    cout<<"s2="<<s2<<endl;

    string s3(s2);
    cout<<"s3="<<s3<<endl;

    string s4(10,'a');
    cout<<"s4="<<s4<<endl;
}
int main() 
{
    test01();
    
    return 0;
}

总结:
string的多种构造方式没有可比性,灵活使用即可

标签:char,初始化,const,string,容器,STL,---,str,字符串
From: https://www.cnblogs.com/RX1Ri/p/18596377

相关文章

  • 模型并行-Megatron-LM
    1.原理  针对transformer模型的模型并行方法,利用矩阵乘法的特性,将每个层切开,放入不同GPU中。对于注意力层,是按注意力头进行切分;对于MLP层,是按矩阵列进行切分。整个执行流程中,每个层的需要进行数据通信,因为对于矩阵切分后的乘法要得到最终的结果需要每个分块的结果进行矩......
  • 华为路由器/交换机为电脑分配IPv6的配置方式 ----无状态自动配置
    一、配置需求  虽然IPv6技术已出现好多年了,运营商也在响应国家号召,在各个领域都已基本完成了IPv6的部署,但由于各种原因,企业用户似乎对IPv6不是很感冒,虽然从运营商那里获得了IPv6,但基本都是闲置状态,这就导致IPv6没有在客户侧大规模使用。这不,前段时间有一位客户来电咨询关......
  • springboot湿地公园旅游信息管理系统-计算机毕业设计源码00658
     目录摘要1绪论1.1选题背景与意义1.2国内外研究现状1.3论文结构与章节安排2系统分析2.1可行性分析2.2系统流程分析2.2.1 数据流程3.3.2 业务流程2.3 系统功能分析2.3.1功能性分析2.3.2非功能性分析2.4 系统用例分析2.5本章小结3 系......
  • springboot市社保局社保信息管理与分析系统-计算机毕业设计源码03479
     摘  要 社保是保障公民基本生活的重要制度。随着社保参保人数的增加和社保政策的不断调整,传统的手工操作已不能满足社保管理的需要。因此,设计和实现一个高效、安全、可靠的社保信息管理和分析系统对于有效管理和优化社保工作具有重要现实意义。市社保局社保信息管理与分......
  • springboot育婴经验分享平台-计算机毕业设计源码06078
     摘要随着现代社会对育儿知识的需求不断增长,家长们渴望找到一个可靠、便捷的平台来分享和获取育婴经验。为此,我们设计并实现了一个基于SpringBoot的育婴经验分享平台。该平台旨在为家长们提供一个互动交流的空间,让他们能够分享自己的育婴心得、求助育儿问题,并从中获得有价值......
  • springboot大学校园报修管理平台-计算机毕业设计源码90736
    摘 要随着信息技术的不断发展,大学校园报修管理成为学校管理的重要组成部分。本研究基于SpringBoot框架设计并实现了一套校园报修管理平台,涵盖学生报修管理、分配任务管理、维修进度管理、反馈评价管理、耗材信息管理、耗材出库管理、耗材入库管理和学校公告管理等功能模块,......
  • @font-face 使用后不生效
    @font-face使用后不生效判断引用的字体包是否适配设备src:url(“…/font/sourceHanSans/SOURCEHANSANSSC-REGULAR.eot”);/*IE9/src:url(SOURCEHANSANSSC-REGULAR.eot")/IE6-IE8/url(“SOURCEHANSANSSC-REGULAR.woff2”)url(“SOURCEHANSANSSC-REGULAR.woff......
  • 【源码】Sharding-JDBC源码分析之SQL中读写分离动态策略、数据库发现规则及DatabaseDi
     Sharding-JDBC系列1、Sharding-JDBC分库分表的基本使用2、Sharding-JDBC分库分表之SpringBoot分片策略3、Sharding-JDBC分库分表之SpringBoot主从配置4、SpringBoot集成Sharding-JDBC-5.3.0分库分表5、SpringBoot集成Sharding-JDBC-5.3.0实现按月动态建表分表6、【源码......
  • 『玩转Streamlit』--片段Fragments
    在Streamlit应用开发中,Fragments组件是一种用于更精细地控制页面元素更新和显示顺序的工具。它允许开发者将内容分解成多个小的片段,这些片段可以按照特定的顺序或者逻辑进行更新,而不是一次性地更新整个页面或容器中的所有内容。这为创建动态且交互性强的用户界面提供了更多的......
  • Linux-笔试题
    一.填空题1.在Linux系统中,以文件 方式访问设备。2.Linux内核引导时,从文件 /etc/fstab中读取要加载的文件系统。3.Linux文件系统中每个文件用信息节点来标识。4.全部磁盘块由四个部分组成,分别为引导块、专用块、i节点表块和数据存储块。5.链接分为:符号......