随笔分类 -  c++黑马笔记

摘要:双端数组,与vector主要的区别就在于是否可以在头尾两边都进行插入和删除,vector就像是栈,deque就像是队列,但是在使用时,vector访问元素的速度要比deque更快,这与其内部实现有关 deque内部有个中控器,维护每段缓冲区中的内容,缓冲区中存放真实数据,中控器维护的是每个缓冲区的地 阅读全文
posted @ 2022-05-08 20:11 纸包鱼 阅读(26) 评论(0) 推荐(0) 编辑
摘要:函数原型:reserve(int len); //容器预留len个元素长度,预留位置不初始化,元素不可访问。 简单来说就是直接给capacity赋值,预留位置的时候,原有的元素不会改变,因为如果数据量较多,那么在运行时会多次重开辟内存,比较耗时,所以最好的办法就是在开始时就直接预留足够的内存 统计开 阅读全文
posted @ 2022-05-08 19:14 纸包鱼 阅读(178) 评论(0) 推荐(0) 编辑
摘要:函数原型:swap(vec); // 将vec与本身的元素互换 这个交换是完全交换,不只是其中的数据,还有size,capacity这些属性都会进行交换 这个交换有一个很有用的地方,就是收缩内存空间,上次说过,resize只是改变了size,没有改变capacity,也就是说,即使这个时候不用这么大 阅读全文
posted @ 2022-05-08 19:03 纸包鱼 阅读(1987) 评论(0) 推荐(0) 编辑
摘要:匿名对象(临时对象)是一种自动构造,自动析构,在本行执行完之后,就会自动销毁通常以下三种情况会产生匿名对象: 1.以值的方式给函数传参,会产生临时对象,为方便区分,称为"参数匿名对象"; Cat(); —> 生成了一个匿名对象,执行完Cat( )代码后,此匿名对象就此消失。这就是匿名对象的生命周期。 阅读全文
posted @ 2022-05-08 18:47 纸包鱼 阅读(648) 评论(0) 推荐(1) 编辑
摘要:只有类的成员函数才能在函数名后面加上const,这时成员函数叫做常量成员函数。 常量成员函数在执行期间不能修改成员变量的值(静态成员变量除外),也不能调用同类的非常量成员函数(同样的静态成员函数除外) 阅读全文
posted @ 2022-05-08 18:41 纸包鱼 阅读(247) 评论(0) 推荐(0) 编辑
摘要:函数原型:at(int idx); //返回索引idx所指的数据operator[]; //返回索引idx所指的数据front(); //返回容器中第一个数据元素back(); //返回容器中最后一个数据元素 和string基本一样,只是多出了首尾数据直接调用 阅读全文
posted @ 2022-05-08 18:26 纸包鱼 阅读(87) 评论(0) 推荐(0) 编辑
摘要:函数原型:push_back(ele); //尾部插入元素elepop_back(); //删除最后一个元素insert(const_iterator pos, ele); //迭代器指向位置pos插入元素eleinsert(const_iterator pos, int count,ele); / 阅读全文
posted @ 2022-05-08 18:18 纸包鱼 阅读(201) 评论(0) 推荐(0) 编辑
摘要:函数原型:empty(); //判断容器是否为空capacity(); //容器的容量size(); //返回容器中元素的个数resize(int num); //重新指定容器的长度为num,若容器变长,则以默认值填充新位置。 //如果容器变短,则末尾超出容器长度的元素被删除。resize(int 阅读全文
posted @ 2022-05-08 15:55 纸包鱼 阅读(102) 评论(0) 推荐(0) 编辑
摘要:函数原型:vector& operator=(const vector &vec); //重载等号操作符 assign(beg, end); //将[beg, end)区间中的数据拷贝赋值给本身。assign(n, elem); //将n个elem拷贝赋值给本身 这个操作和之前的string基本相同 阅读全文
posted @ 2022-05-08 15:45 纸包鱼 阅读(840) 评论(0) 推荐(0) 编辑
摘要:函数原型:vector<T> v; //采用模板实现类实现,默认构造函数vector(v.begin(), v.end()); //将v[begin(), end())区间中的元素拷贝给本身。vector(n, elem); //构造函数将n个elem拷贝给本身。vector(const vecto 阅读全文
posted @ 2022-05-08 15:39 纸包鱼 阅读(640) 评论(0) 推荐(0) 编辑
摘要:使用就像单端数组 不同于数组是固定的空间,而是动态扩展的,他的动态扩展不是链表那样在原来的基础上继续扩展的,而是会直接开辟新的更大的空间,然后拷贝后删除原空间。他是单边的,只有一个边进一个边出,像是队列,同时它的迭代器也是支持随机访问的 v.begin代表的是最开始的值,头上的值,v.end代表的是 阅读全文
posted @ 2022-05-08 15:28 纸包鱼 阅读(26) 评论(0) 推荐(0) 编辑
摘要:功能描述:从字符串中获取想要的子串函数原型:string substr(int pos = 0, int n = npos) const; //返回由pos开始的n个字符组成的字符串 阅读全文
posted @ 2022-05-08 15:20 纸包鱼 阅读(21) 评论(0) 推荐(0) 编辑
摘要:函数原型:string& insert(int pos, const char* s); //插入字符串string& insert(int pos, const string& str); //插入字符串string& insert(int pos, int n, char c); //在指定位置 阅读全文
posted @ 2022-05-08 14:42 纸包鱼 阅读(194) 评论(0) 推荐(0) 编辑
摘要:string中单个字符存取方式有两种 char& operator[](int n); //通过[]方式取字符char& at(int n); //通过at方法获取字符 这两个的效果一样,可以进行字符的读写,同时注意字符串可以通过.size()函数判断字符串的大小 阅读全文
posted @ 2022-05-08 14:39 纸包鱼 阅读(550) 评论(0) 推荐(0) 编辑
摘要:比较方式:字符串比较是按字符的ASCII码进行对比= 返回 0> 返回 1< 返回 -1 函数原型:int compare(const string &s) const; //与字符串s比较int compare(const char *s) const; //与字符串s比较 比较的时候从前到后比较 阅读全文
posted @ 2022-05-08 14:34 纸包鱼 阅读(729) 评论(0) 推荐(0) 编辑
摘要:功能描述:查找:查找指定字符串是否存在替换:在指定的位置替换字符串函数原型:int find(const string& str, int pos = 0) const; //查找str第一次出现位置,从pos开始查找int find(const char* s, int pos = 0) cons 阅读全文
posted @ 2022-05-08 14:25 纸包鱼 阅读(879) 评论(0) 推荐(0) 编辑
摘要:主要用于在已有字符串之后追加 函数原型:string& operator+=(const char* str); //重载+=操作符string& operator+=(const char c); //重载+=操作符string& operator+=(const string& str); // 阅读全文
posted @ 2022-05-08 14:12 纸包鱼 阅读(1041) 评论(0) 推荐(0) 编辑
摘要:赋值的函数原型:string& operator=(const char* s); //char*类型字符串 赋值给当前的字符串string& operator=(const string &s); //把字符串s赋给当前的字符串string& operator=(char c); //字符赋值给当 阅读全文
posted @ 2022-05-08 14:04 纸包鱼 阅读(588) 评论(0) 推荐(0) 编辑
摘要:c++的string本身本质上是一个类,类中管理一个c语言类型的char*指针 用类的好处就是其中有很多的封装,并且可以自动管理内存 构造函数原型:string(); //创建一个空的字符串 例如: string str; string(const char* s); //使用字符串s初始化stri 阅读全文
posted @ 2022-05-08 13:57 纸包鱼 阅读(342) 评论(0) 推荐(0) 编辑
摘要:嵌套容器和别的没什么区别,只是说循环也变成了嵌套,同时注意两个>> 中要有等号 迭代器解引用后依旧是迭代器中显示的容器中保存数据类型 vector<vector<int> > v; for (vector<vector<int> >::iterator it = v.begin(); it != v 阅读全文
posted @ 2022-05-08 11:20 纸包鱼 阅读(279) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示