![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
文章平均质量分 90
“αβ”
由于此人很懒,只留下了一句“此人很懒”
展开
-
c++模板进阶操作——非类型模板参数、模板的特化以及模板的分离编译
在 C++ 中,仿函数(Functor)是指重载了函数调用运算符()的对象。仿函数可以像普通函数一样被调用,但它们实际上是对象,可以携带状态并具有更多功能。与普通函数相比,仿函数具有更强的灵活性和可扩展性。仿函数通常通过定义一个包含operator()的类来实现。public:// 重载函数调用运算符Add add;// 创建 Add 类的对象// 使用仿函数return 0;原创 2024-07-20 15:18:49 · 513 阅读 · 0 评论 -
计算一个数的补码有几个1
对于一个数补码是由原码的符号位不变其余位按位取反再加一所得,那么计算一个数的二进制位有几个1其实与十进制计算有几个1是有相通的。原创 2024-01-14 19:01:19 · 382 阅读 · 1 评论 -
c++入门
c++作为面向对象的语言与c的简单区别:c语言作为面向过程的语言还是跟c++有很大的区别的,比如说一个简单的五子棋的实现对于c语言面向过程的设计思路是首先分析解决这个问题的步骤:(1)开始游戏(2)黑子先走(3)绘制画面(4)判断输赢(5)轮到白子(6)绘制画面(7)判断输赢(8)返回步骤(2) (9)输出最后结果。但对于c++就不一样了,在下五子棋的例子中,用面向对象的方法来解决的话,首先将整个五子棋游戏分为三个对象:(1)黑白双方,这两方的行为是一样的。(2)棋盘系统,负责绘制画面。原创 2024-05-18 20:21:46 · 864 阅读 · 0 评论 -
c++的类
c++作为一个面向对象的高级编程语言特点就是:封装,继承,多态。其中封装这一特点的体现就是类。在c++中的设计中,属性和行为写在一起,表现事物,也就命名为类class 类名{ 访问权限: 属性/行为 };原创 2024-05-19 14:20:28 · 599 阅读 · 2 评论 -
c++的string一键介绍
这篇文章旨在帮助读者回忆如何使用string,并提醒注意事项。它不是一篇详细的功能介绍,而是一篇润色文章。先展示重载函数,如果该函数一笔不可带过,就先展示英文原档(附带翻译),最后展示代码实现与举例可以直接去看英文文档,也可以看本篇文章,但是更建议去看英文原档。那么废话少说直接开始进行挨个介绍。原创 2024-06-01 20:56:08 · 1092 阅读 · 2 评论 -
vector与list的简单介绍
vector是表示大小可以变化的数组的序列容器。就像数组一样,vector对其元素使用连续的存储位置,这意味着也可以使用指向其元素的常规指针上的偏移量来访问其元素,并且与数组中的元素一样高效。但与数组不同的是,它们的大小可以动态变化,它们的存储由容器自动处理。在内部,vector使用动态分配的数组来存储其元素。当插入新元素时,可能需要重新分配此数组才能增大大小,这意味着分配一个新数组并将所有元素移动到该数组。原创 2024-07-04 22:46:57 · 1024 阅读 · 0 评论 -
关于string的‘\0‘与string,vector构造特点,反迭代器与迭代器类等的讨论
你真的了解string的'\0'么?你知道创建一个string a("abcddddddddddddddddddddddddd", 16);这样的string对象要创建多少个对象么?你知道string与vector进行扩容时进行了怎么的操作么?你知道怎么求Vector 最大 最小值 索引 位置么?原创 2024-07-06 12:06:36 · 1079 阅读 · 0 评论 -
stack与queue的介绍与使用与实现
栈(stack)是一种遵循先入后出(FILO)逻辑的线性数据结构。其只能从容器的一端进行元素的插入与提取操作。我们可以把他比作串串,我们在串肉的时候都是从底依次往上串肉,然后在吃的时候是从串顶依次向下吃,将串上的肉比作各种类型的元素(如整数、字符、对象等),串子比作适配器容器,就得到了栈这种数据结构。如图所示,我们把容器内元素的顶部称为“栈顶”,底部称为“栈底”。将把元素添加到栈顶的操作叫作“入栈”,删除栈顶元素的操作叫作“出栈”。(图片取自hello算法)原创 2024-07-18 18:23:52 · 803 阅读 · 0 评论 -
c与c++的内存管理
再比如还有这样的分组: 这种分组是最正确的给出内存四个分区名字:栈区、堆区、全局区(俗话也叫静态变量区)、代码区(也叫代码段)(代码段又分很多种,比如常量区)当然也会看到别的定义如:两者都正确,记那个都选,我选择的是第一个。再比如还有这样的分组: 这种分组是最正确的答案分别是 C C C A A A A A D A B。原创 2024-07-06 20:10:32 · 695 阅读 · 0 评论 -
c++模板初阶----函数模板与类模板
class 类模板名private://类内成员声明class Apublic:A(T val):a(val){}private:T a;return 0;运行结果:注意:类模板中的成员函数若是放在类外定义时,需要加模板参数列表。return 0;原创 2024-07-17 19:02:16 · 766 阅读 · 0 评论 -
priority_queue的使用与模拟实现
使用vector作为底层容器,内部构造大堆结构。使用vector作为底层容器,内部构造小堆结构。方式三:不指定底层容器和内部需要构造的堆结构。注意: 此时默认使用vector作为底层容器,内部默认构造大堆结构成员函数功能push()插入元素到队尾(并排序)pop()弹出队头元素(堆顶元素)top()访问队头元素(堆顶元素)size()获取队列中有效元素个数empty()判断队列是否为空swap()交换两个队列的内容int main()q.push(3);原创 2024-07-19 15:14:45 · 835 阅读 · 0 评论