zoukankan      html  css  js  c++  java
  • STLstring详解

    
    

    1.声明

    
    

    string类本不是STL的容器,但是它与STL容器有着很多相似的操作,因此,把string放在这里一起进行介绍。
    之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下的需要。我们尽可以把它看成是C++的基本数据类型。
    首先,为了在我们的程序中使用string类型,我们必须包含头文件。如下:

    #include<string>

    
    

    2.sting对象的操作

    
    

    string s;
    1) s.empty(); // s为空串 返回true
    2) s.size(); // 返回s中字符个数 类型应为:string::size_type
    3) s[n]; // 从0开始相当于下标访问
    4) s1+s2; // 把s1和s2连接成新串 返回新串
    5) s1=s2; // 把s1替换为s2的副本
    6) v1==v2; // 比较,相等返回true
    7) `!=, <, <=, >, >=` 惯有操作 任何一个大写字母都小于任意的小写字母
    当进行string对象和字符串字面值混合连接操作时,+操作符的左右操作数必须至少有一个是string类型的:

    string s1(“hello”);

    string s3=s1+”world”; //合法操作

    string s4=”hello”+”world”; //非法操作:两个字符串字面值相加


    3.字符串操作函数


    1) =, s.assign() // 赋以新值
    2) swap() // 交换两个字符串的内容
    3) +=, s.append(), s.push_back() // 在尾部添加字符
    4) s.insert() // 插入字符
    5) s.erase() // 删除字符
    6) s.clear() // 删除全部字符
    7) s.replace() // 替换字符
    8) + // 串联字符串
    9) ==,!=,<,<=,>,>=,compare() // 比较字符串
    10) size(),length() // 返回字符数量
    11) max_size() // 返回字符的可能最大个数
    12) s.empty() // 判断字符串是否为空
    13) s.capacity() // 返回重新分配之前的字符容量
    14) reserve() // 保留一定量内存以容纳一定数量的字符
    15) [ ], at() // 存取单一字符
    16) >>,getline() // 从stream读取某值
    17) << // 将谋值写入stream
    18) copy() // 将某值赋值为一个C_string
    19) c_str() // 返回一个指向正规C字符串(C_string)的指针 内容与本string串相同 有’’
    20) data() // 将内容以字符数组形式返回 无’’
    21) s.substr() // 返回某个子字符串
    22) begin() end() // 提供类似STL的迭代器支持
    23) rbegin() rend() // 逆向迭代器
    24) get_allocator() // 返回配置器

    
    
    
     
  • 相关阅读:
    代理模式
    建造者模式
    开源版本 hadoop-2.7.5 + apache-hive-2.1.1 + spark-2.3.0-bin-hadoop2.7整合使用
    Phoenix映射HBase数据表
    使用sqoop将mysql中表导入hive中报错
    数据库索引原理及优化(转载)
    6.JAVA知识点归纳整理
    5.hbase表新增数据同步之add_peer
    mongodb分布式集群搭建
    4.HBASE数据迁移方案(之snapshot):
  • 原文地址:https://www.cnblogs.com/zhangfuxiao/p/9285856.html
Copyright © 2011-2022 走看看