申请网站域名要多少钱wordpress安装到子目录
2026/1/1 16:30:35 网站建设 项目流程
申请网站域名要多少钱,wordpress安装到子目录,网站宣传夸大处罚,广州营销网站建设公司文章目录概要array、vector和string总结概要 在C中#xff0c;容器是C标准库中的重要组成部分#xff0c;众所周知#xff0c;C标准库中分为#xff1a;容器、迭代器、分配器、算法以及仿函数等等。一个容器就是一些特定类型对象的集合。而顺序容器为程序员提供了控制元素…文章目录概要array、vector和string总结概要在C中容器是C标准库中的重要组成部分众所周知C标准库中分为容器、迭代器、分配器、算法以及仿函数等等。一个容器就是一些特定类型对象的集合。而顺序容器为程序员提供了控制元素存储和访问顺序的能力。下面我们就来介绍一些常见的容器那么系好安全带我们要发车了array、vector和stringarray叫作数组与我们在C中常用的数组一样其特点是具有固定大小支持快速随机访问与其他容器不同的是array在使用时需要指定其大小如arrayint,10,其原因就在于array是固定数组大小不能像vector、和string等容器一样进行动态扩容以下是一些array常见的初始化操作#includeiostream#includearrayusingnamespacestd;intmain(){// 方式1全量初始化元素个数数组大小arrayint,5arr1{1,2,3,4,5};// 推荐写法清晰arrayint,5arr1_alt{1,2,3,4,5};// 等价写法省略// 方式2部分初始化未赋值元素自动补0arrayint,5arr2{10,20};// 结果[10, 20, 0, 0, 0]arraydouble,4arr3{3.14,2.718};// 结果[3.14, 2.718, 0.0, 0.0]return0;}vector容器如上述所说是一种可变大小数组同时支持快速随机访问但是在尾部之外的位置插入或删除的元素可能很慢。其常见的初始化方式如下#includevector#includearray// 范围初始化依赖usingnamespacestd;intmain(){// 1. 列表初始化最常用vectorintvec1{1,2,3,4,5};// 标准列表初始化vectorstringvec2{C,Java,Python};// 省略的统一初始化vectordoublevec3{};// 空列表初始化// 2. 指定大小默认值初始化vectorintvec4(5);// 大小5元素默认值0vectorintvec5(5,99);// 大小5所有元素为99vectorstringvec6(3,hi);// 大小3所有元素为hi// 3. 拷贝初始化vectorintsrc_vec{10,20,30};vectorintcopy_vec1src_vec;// 赋值拷贝vectorintcopy_vec2(src_vec);// 构造函数拷贝// 4. 范围初始化arrayint,5arr{1,2,3,4,5};vectorintvec7(arr.begin(),arr.end());// 从array初始化vectorintvec8(vec7.begin()1,vec7.end()-1);// 截取vector部分范围intraw_arr[]{100,200,300};vectorintvec9(raw_arr,raw_arr3);// 从原生数组初始化// 5. 移动初始化C11vectorintvec10std::move(vectorint{1,2,3});// 移动临时vectorvectorintsrc_move{4,5,6};vectorintvec11std::move(src_move);// 移动已有vector// 6. 空初始化默认构造vectorintvec12;// 空vector大小/容量均为0return0;}细心的读者发现上面的代码中有一个string别急接下来就开始对容器string进行解释string是一种与vector相似的容器但是其专门用于保存字符串其随机访问快。在尾部插入或删除速度快。另外string不止可以作为容器还可以作为一种规定的数据类型上面vector的内容中就利用了这一点。对于string的常见初始化如下#includestringusingnamespacestd;intmain(){// 1. 空初始化默认构造string str1;// 空字符串长度0// 2. 常量字符串初始化最常用string str2Hello C;// 标准赋值初始化stringstr3(Hello World);// 构造函数初始化string str4{Hello Python};// C11统一初始化// 3. 拷贝初始化string src_strtest;string str5src_str;// 赋值拷贝深拷贝stringstr6(src_str);// 构造函数拷贝// 4. 指定长度字符初始化stringstr7(5,a);// 长度5所有字符为a → aaaaastringstr8(3,8);// 长度3所有字符为8 → 888// 5. 范围初始化从string/字符数组截取部分stringstr9(str2.begin(),str2.begin()5);// 截取str2前5个字符 → Hellocharchar_arr[]123456;stringstr10(char_arr,char_arr4);// 截取字符数组前4个 → 1234// 6. 移动初始化C11高效string str11std::move(string(temp));// 移动临时stringstring src_movemove test;string str12std::move(src_move);// 移动已有string原string变空// 7. 数字/其他类型转stringC11string str13to_string(123);// 整数转string → 123string str14to_string(3.1415);// 浮点数转string → 3.141500return0;}又有细心的读者会发现上面的代码有一个char类型用于初始化string类型实际上string中有这样一种规定:char可以被转化为string类型反过来则不行。(除非是提取出string中的单个字符才可以完成转换。)总结C中的顺序容器为程序员提供了控制元素存储和访问顺序的能力这一节我们讲了关于array、vector和string三个基本的顺序容器的初始化、类型以及特点下期我会对另外的三个顺序容器进行讲解感兴趣的读者可以关注一下如果我的内容对你有帮助和启发请点赞、评论、收藏。你们的支持就是我更新最大的动力那么我们下期再见

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询