c++中string的使用!!!(适合初学者 浅显易懂)

03-10 1372阅读

我们先初步的认识一下string,string底层其实是一个模版类

typedef basic_string string;

我们先大致的把string的成员函数列举出来

class string

{

        private:

        char * str;

        size_t size;

        size_t capacity;

};

1.string的六大默认函数

1.1 构造函数、拷贝构造

注:以下只介绍常用的几个构造函数 以下同理

1. string();

2. string(const char *s); 

3. string(const string& str); 拷贝构造

c++中string的使用!!!(适合初学者 浅显易懂)

1.2析构函数

~string();

1.3赋值运算符重载

1.string& operator=(const char* s);

2.string& operator=(const string& str);

3.string& operator=(char c);

c++中string的使用!!!(适合初学者 浅显易懂)

2.string的遍历

2.1下标遍历

底层物理空间是连续的情况下,我们可以使用下标遍历

string& operator[] (size_t pos);

const string& operator[] (size_t pos) const;

c++中string的使用!!!(适合初学者 浅显易懂)

2.2 iterator迭代器

typedef char* iterator

typedef const char* const_iterator

返回第一个元素

iterator begin();

const_iterator begin() const;

返回最后一个元素

iterator end();

const_iterator end() const;

c++中string的使用!!!(适合初学者 浅显易懂)

2.3范围for

范围for看着很高大上,其实底层跟迭代器差不多的用法

c++中string的使用!!!(适合初学者 浅显易懂)

3.string中的capacity

size_t size() const; 返回string中的有效字符个数

void resize(size_t n); 调整string中的有效字符个数

size_t capacity() const; 返回string中能存储有效字符的空间

void reserve(size_t n = 0); 调整string中能存储有效字符的空间

c++中string的使用!!!(适合初学者 浅显易懂)

注意:不同的编译器扩容机制会有些许不同

void clear(); 清除当前字符串内容,既将size赋值为0

c++中string的使用!!!(适合初学者 浅显易懂)

4.string中的增删查改

4.1插入

尾插:

string& operator+= (const string& str) ;

string& operator+=(const char* s);

string& operator+=(const cahr c);

void push_back(cahr c);

c++中string的使用!!!(适合初学者 浅显易懂)

头插:

在pos位置上插入n个字符字符c/字符串str,并返回该字符的位置

string& insert(size_t pos, size_t n,char c); 

string& insert(size_t pos, const char* str);

c++中string的使用!!!(适合初学者 浅显易懂)

 4.2删除

删除从pos位置开始的len个元素,若len太大,则删除全部元素        

string& erase(size_t pos = 0,size_t len = npos); 

c++中string的使用!!!(适合初学者 浅显易懂)

4.3查找string中的字符或者字符串

size_t find (char c, size_t pos = 0) const; 返回c在string中从pos位置开始第一次出现的位置

size_t find (const char* s, size_t pos = 0) const; 返回子串s在string中从pos位置开始第一次出现的位置

c++中string的使用!!!(适合初学者 浅显易懂)

4.4改变string中一段字符

string & replace(size_t pos,size_t len,const string* str);  将pos位置开始,跨越len个字符替换为str

c++中string的使用!!!(适合初学者 浅显易懂)

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]