跨境派

跨境派

跨境派,专注跨境行业新闻资讯、跨境电商知识分享!

当前位置:首页 > 卖家故事 > c++中string的使用!!!(适合初学者 浅显易懂)

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

时间:2024-03-25 14:11:17 来源:网络cs 作者:峨乐 栏目:卖家故事 阅读:

标签: 学者  浅显  适合  使用 
阅读本书更多章节>>>>

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

typedef basic_string<char> 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); 拷贝构造

1.2析构函数

~string();

1.3赋值运算符重载

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

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

3.string& operator=(char c);

2.string的遍历

2.1下标遍历

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

string& operator[] (size_t pos);

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

2.2 iterator迭代器

typedef char* iterator

typedef const char* const_iterator

返回第一个元素

iterator begin();

const_iterator begin() const;

返回最后一个元素

iterator end();

const_iterator end() const;

2.3范围for

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

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中能存储有效字符的空间

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

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

4.string中的增删查改

4.1插入

尾插:

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

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

string& operator+=(const cahr c);

void push_back(cahr c);

头插:

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

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

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

 4.2删除

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

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

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位置开始第一次出现的位置

4.4改变string中一段字符

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

阅读本书更多章节>>>>

本文链接:https://www.kjpai.cn/gushi/2024-03-25/148401.html,文章来源:网络cs,作者:峨乐,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

文章评论