• string详解


    一.STL简介

    1. 什么是 STL
    STL(standard template libaray- 标准模板库 ) C++ 标准库的重要组成部分 ,不仅是一个可复用的组件库,而且 是一个包罗数据结构与算法的软件框架
    2. STL 的版本
    原始版本
    Alexander Stepanov Meng Lee 在惠普实验室完成的原始版本,本着开源精神,他们声明允许任何人任意
    运用、拷贝、修改、传播、商业使用这些代码,无需付费。唯一的条件就是也需要向原始版本一样做开源使
    用。 HP 版本 -- 所有 STL 实现版本的始祖。
    P. J. 版本
    P. J. Plauger 开发,继承自 HP 版本,被 Windows Visual C++ 采用,不能公开或修改,缺陷:可读性比较低,
    符号命名比较怪异。
    RW 版本
    Rouge Wage 公司开发,继承自 HP 版本,被 C+ + Builder 采用,不能公开或修改,可读性一般。
    SGI 版本
    Silicon Graphics Computer Systems Inc 公司开发,继承自 HP 版 本。被 GCC(Linux) 采用,可移植性好,
    可公开、修改甚至贩卖,从命名风格和编程 风格上看,阅读性非常高。 我们后面学习 STL 要阅读部分源代码, 主要参考的就是这个版本。
    3. STL 的六大组件

    二.string

    typedef basic_string<char> string;  (string是一个类模板)

    1.解释:Strings are objects that represent sequences of characters. (strings 是顺序的字母)

    头文件:#include<string>   (不加.h,C语言中有string.h,防止和C语言的重复)

    2.作用:管理动态增长字符数组,这个字符串以\0结尾

     3.string类对象的常见构造  

    string(); 是无参的构造函数。string (const char* s); 是有参构造函数。

    string (const string& str); 是拷贝构造函数。

    1. #include<iostream>
    2. #include<string>
    3. using namespace std;
    4. int main()
    5. {
    6. string s1; //相当于string s1("");
    7. string s2("hello world");
    8. string s3(s2);
    9. string s4 = s2;
    10. s2 += "!!!!!";
    11. cout << s2 << endl;
    12. return 0;
    13. }

  • 相关阅读:
    HashMap中的put()和get()的实现原理
    Python数据类型:数字
    【Qt】网络通信(TCP&UDP)
    前端css实现统计圆环
    python安装介绍
    scala之偏函数学习
    Shell学习--printf命令
    水电站与数据可视化:洞察未来能源趋势的窗口
    【CV】Reg2Net:一种用于计算机视觉任务的多尺度骨干架构
    信息化项目验收的依据、内容和验收测评报告
  • 原文地址:https://blog.csdn.net/zhang_si_hang/article/details/125561922