摘要: 一、两种智能指针 智能指针是C++11标准引入的一种管理动态内存的工具,用于自动管理动态分配的内存, 避免内存泄漏和悬空指针问题。C++11标准提供了三种智能指针: unique_ptr、shared_ptr和weak_ptr。 shared_ptr允许多个指针指向同一个对象。 unique_ptr 阅读全文
posted @ 2025-01-04 01:07 baobaobashi 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 1、什么是list容器 list是一个双向链表容器,可以在任意位置快速插入或删除元素,但是随机访问元素的速度较慢。 list不可以随机访问,只能通过迭代器访问。所以不支持.at()和[]操作符。 it++ //right; it + 5; //error 2、头部和尾部操作 //获取链表第一个结点 阅读全文
posted @ 2024-12-28 17:48 baobaobashi 阅读(8) 评论(0) 推荐(0) 编辑
摘要: deque容器 deque是一种双端队列容器,它允许在容器头部和尾部进行快速插入和删除操作。 deque容器在内部通过多个连续的内存块来存储元素,每个内存块称为一个缓冲区。 deque容器在头部和尾部添加或删除元素时,只需要在相应的缓冲区中进行操作,而不需要移动其他元素。 但是deque容器在中间位 阅读全文
posted @ 2024-12-25 20:13 baobaobashi 阅读(3) 评论(0) 推荐(0) 编辑
摘要: vector常用操作 1、vecotr对象的默认构造 vector<int> v1; //v1是一个空的vector对象,v1的容量为0 class CA{}; vector<CA*> v2; //用于存放CA对象的指针的vector对象,v2的容量为0 vector<CA> v3; //用于存放C 阅读全文
posted @ 2024-12-23 21:43 baobaobashi 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 一、浅拷贝(Shallow Copy) 浅拷贝是指创建一个新对象,然后将其成员变量(包括指针成员)的值简单地复制到新对象中。 如果成员变量是值类型(如int、float等),那么直接复制其值; 如果成员变量是指针类型,则只复制指针的地址值,而不复制指针所指向的内存区域。 浅拷贝导致的问题 由于浅拷贝 阅读全文
posted @ 2024-08-27 23:09 baobaobashi 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 一、构造函数的调用规则 定义了有参构造函数,编译器就不会提供默认构造函数,但是会提供拷贝构造函数。 定义了拷贝构造函数,C++不会提供其他构造函数。 构造函数的调用时机: 当创建类的对象时,构造函数会被自动调用。 使用new分配对象内存时 直接在栈上或全局/静态存储区创建对象。 构造函数的特点: 构 阅读全文
posted @ 2024-08-27 11:57 baobaobashi 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 一、顺序容器类型 顺序容器提供了元素存储。 顺序容器也提供了对元素的顺序访问,但不一定提供直接访问特定元素的能力(除了std::array和std::vector,它们提供了基于索引的直接访问)。 以下是C++ STL中主要的顺序容器类型: std::vector: 动态数组,可以动态地增长和缩小。 阅读全文
posted @ 2024-05-27 02:12 baobaobashi 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 一、IO类 c++不直接处理输入和输出,而是通过标准库中的类型处理IO。C++ 的 I/O(输入/输出)库主要包含在 < ifstreamtream >、< fstream >、< sstream > 等头文件中。这些库提供了丰富的功能,用于在控制台、文件、字符串等之间进行数据的输入和输出。 ifs 阅读全文
posted @ 2024-05-25 14:44 baobaobashi 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 一、static的作用 在C++中,static关键字是一个多功能的修饰符,它可以用于不同的上下文,并且具有不同的意义。 二、局部静态变量 在函数内部,如果你使用static关键字声明一个变量,那么这个变量只会初始化一次,并且它的生命周期会持续到程序结束。 这意味着,即使在函数返回之后,这个变量的值 阅读全文
posted @ 2024-05-25 00:32 baobaobashi 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 在C++中,聚合类(Aggregate Class)或聚合(Aggregate)是一个特殊的类,它满足以下条件: 所有成员都是public的(虽然这并非严格要求,但如果是private或protected,则无法直接访问它们进行聚合初始化)。 初始值的顺序必须与声明一致 没有用户定义的构造函数、拷贝 阅读全文
posted @ 2024-05-24 01:29 baobaobashi 阅读(34) 评论(0) 推荐(0) 编辑