zoukankan      html  css  js  c++  java
  • C++ 串

    ♣ string 的基类basic_string中没有虚函数,它无意成为基类。更像是为了处理字符相关的问题而专门提供的一个工具及操作方法。如:想要在一个字符串str1中查找str2,没必要每次都去写KMP算法,开源的口号就是不要重复发明轮子,利用string中的find()操作即可。笔者遇到碰到过的问题中就有类似问题:给定两棵树,要求判断tree2是不是tree1的子结构。序列化之后就可以用如下语句:

    if(string::npos!=str1.find(str2))
              return true;

    ♣ 它继承了c风格字符串( 结束)和操作,封装出来的对象更贴近用户,和vector一样是很好用的工具,所以觉得有必要整理一下。

    1.元素访问

    --[] :

    --at(): 带访问检查(会抛出out_of_range异常)

    --迭代器:

    指针与数组的关系对string并不成立。string s,  &s[0] 与 s 并不等。

    2.初始化与赋值

    --不能用字符和整数来初始化字符串;

     但是字符可以赋值

    string s = 'a'; X            string s;  s = 'a';√

    3.到c风格的转换

    利用c_str()产生c风格字符串,注意传中的0字符

    4.拼接:+

    5.插入:

    --+=

    ---append

    --insert

    6.查找:find及其变种,返回值类型为size_type,没有找到返回npos; 

    7.替换:replace(可替换可删除),erase

    8.子串substr():

  • 相关阅读:
    如何编写一个简单的依赖注入容器
    网站框架的动态编译的实现原理
    Python实现语音识别和语音合成
    OpenCV图像处理以及人脸识别
    Shell教程快速入门
    TensorFlow入门教程
    如何免费使用Google的GPU跑深度学习代码
    高等数学系列文章
    Git系列教程
    一键构造你的博客园目录
  • 原文地址:https://www.cnblogs.com/lp3318/p/5394882.html
Copyright © 2011-2022 走看看