- 博客(5)
- 收藏
- 关注
原创 【C++】容器适配器
适配器(adaptor)是标准库中的一个通用概念,本质上,适配器是一种机制,能使某种事务的行为看起来像另外一种事物一样。标准库定义了三个顺序容器适配器:stack——栈,queue——队列,priority_queue——优先级队列。stack和queue是基于deque实现的,priority_queue是基于vector实现的。stack只要求push_back、pop_back、back操作,因此可以使用除array和forward_list之外的任何容器类型来构造stack。
2023-06-30 10:29:59 113
原创 【C++】函数
如果同一作用域内的几个函数名字相同但形参列表不同,我们称之为重载函数(overloaded)。这些函数接受的形参类型不一样,但是执行的操作非常类似,当调用这些函数时,编译器会根据传递的实参类型推断想要的是那个函数。//调用void print(const char *cp);//调用void print(const int ia[], size_t size);//调用void print(const int *beg, const int *end);
2023-05-12 16:16:58 207 1
原创 【C++】 vector和迭代器
迭代器(iterator)是一种可以遍历容器元素的数据类型。迭代器是一个变量,相当于容器和操纵容器的算法之间的中介。类似于指针类型,迭代器也提供了对对象的间接访问。C++更趋向于使用迭代器而不是数组下标操作,因为标准库为每一种标准容器(如vector、map和list等)定义了一种迭代器类型,而只有少数容器(如vector、string)支持数组下标操作访问容器元素。b表示v的第一个元素,e表示v尾元素的下一个位置。
2023-05-10 21:51:32 2849 1
转载 【C++】顶层const和底层const
所以,指针本身是不是常量,和指针指向对象是不是常量,是两个独立的问题。将 “int &” 类型的引用绑定到 “const int” 类型的初始值设定项时,限定符被丢弃,这是因为引用的类型必须与其所引用对象的类型一致。用顶层top-level const表示指针本身是一个常量,用底层low-level const表示指针指向对象是一个常量。指针的类别必须与其所指对象的类型一致,但有两种例外情况(本文将讲第一种):指向常量的指针,指向了非常量对象。代表的是底层const,指针指向一个常量,常量自然不能改变。
2023-04-11 16:59:43 1751 4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人