自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 C++ 中的构造函数初始化列表

因此,使用初始化列表不仅可以提高性能(避免双重初始化),在某些情况下还是必需的。这是 C++ 中的最佳实践之一。双重初始化指的是当你不使用初始化列表,而在构造函数体内赋值时可能发生的情况。使用初始化列表通常比在构造函数体内赋值更高效,因为它避免了双重初始化。

2024-12-31 14:07:17 156

原创 C++,什么情况下会调用移动构造函数,什么情况下会调用移动赋值运算符

在 STL 容器中,如果需要对已存在的元素进行赋值操作,并且新赋值的元素是一个右值,移动赋值运算符将被调用。:当一个对象作为函数的返回值时,移动构造函数可以将临时对象的资源转移到接收对象,而不是复制资源。:如果在类的构造函数中使用初始化列表来赋值现有对象,并且使用了右值,也会调用移动赋值运算符。总之,任何时候当一个对象被视为右值(即可以“移动”的对象)时,都会调用移动构造函数。:在函数参数中,如果参数是以值传递的,并且是右值,可能会调用移动赋值运算符。来转换一个对象为右值时,会调用移动构造函数。

2024-10-24 17:39:45 409

原创 C++11 move用法总结

C++11 中的是一种用于实现移动语义的工具,通过减少不必要的拷贝来提高程序效率。使用std::move可以将对象的资源转移,而不是拷贝它们,避免了性能损耗。下面详细解释其用法和背后的移动语义。

2024-09-05 18:12:15 882

原创 C++11新特性—列表初始化以及初始化列表概念的区别

在C++中,初始化列表和列表初始化是两个不同的概念,尽管它们都涉及到对象的初始化。

2024-09-05 15:17:52 254

原创 C++ 拷贝构造函数、移动构造函数以及用法

int* data;public:// 自定义拷贝构造函数,执行深拷贝// 分配新内存并复制值如果类中有动态分配的资源(如指针),可能需要自定义移动构造函数,以避免重复释放资源。int* data;public:// 自定义移动构造函数// 转移资源的所有权// 避免原对象释放资源拷贝构造函数用于创建对象的副本,通常涉及深拷贝的情形。移动构造函数则用于转移资源,避免了不必要的深拷贝,提高了性能。

2024-09-05 14:38:39 563

原创 代码随想录算法训练营第十五天 | 二叉树 ● 层序遍历 10 ● 226.翻转二叉树 ● 101.对称二叉树

● 226.翻转二叉树。● 101.对称二叉树。

2023-08-24 14:29:14 116 1

原创 代码随想录算法训练营第十四天 | 二叉树● 理论基础● 递归遍历 ● 迭代遍历● 统一迭代

【代码】代码随想录算法训练营第十四天 | 二叉树● 理论基础● 递归遍历 ● 迭代遍历● 统一迭代。

2023-08-23 23:01:23 145

原创 代码随想录算法训练营第十三天 | leetcode ● 239. 滑动窗口最大值● 347.前 K 个高频元素

● 239. 滑动窗口最大值(困难)347.前 K 个高频元素。

2023-08-22 22:32:34 119 1

原创 代码随想录算法训练营第十一天 | ● 20. 有效的括号● 1047. 删除字符串中的所有相邻重复项● 150. 逆波兰表达式求值

● 1047. 删除字符串中的所有相邻重复项。150. 逆波兰表达式求值。● 20. 有效的括号。

2023-08-22 12:47:07 107 1

原创 代码随想录算法训练营第十天 | 力扣 ● 232.用栈实现队列● 225. 用队列实现栈

● 225. 用队列实现栈。● 232.用栈实现队列。

2023-08-21 13:38:37 147 1

原创 代码随想录 | Day8:leetcode ● 344.反转字符串● 541. 反转字符串II● 剑指Offer 05.替换空格● 151.翻转字符串里的单词● 剑指Offer58-II.左旋

【代码】代码随想录 | Day8:leetcode ● 344.反转字符串● 541. 反转字符串II● 剑指Offer 05.替换空格● 151.翻转字符串里的单词● 剑指Offer58-II.左旋。

2023-08-16 23:28:30 38 1

原创 代码随想录 | Day7:leetcode ● 454.四数相加II ● 383. 赎金信 ● 15. 三数之和 ● 18. 四数之和

【代码】代码随想录 | Day7:leetcode ● 454.四数相加II ● 383. 赎金信 ● 15. 三数之和 ● 18. 四数之和。

2023-08-16 00:05:16 76 1

原创 代码随想录 | Day6:leetcode ● 哈希表理论基础 ● 242.有效的字母异位词 ● 349. 两个数组的交集 ● 202. 快乐数● 1. 两数之和

【代码】代码随想录 | Day6:leetcode ● 哈希表理论基础 ● 242.有效的字母异位词 ● 349. 两个数组的交集 ● 202. 快乐数● 1. 两数之和。

2023-08-14 23:25:56 53

原创 代码随想录 | Day4:leetcode 22.两两交换链表中的结点 19.删除链表的倒数第n个结点 面试02.07链表相交 142.环形链表

【代码】代码随想录 | Day4:leetcode 22.两两交换链表中的结点 19.删除链表的倒数第n个结点 面试02.07链表相交 142.环形链表。

2023-08-13 23:59:50 84 1

原创 代码随想录算法训练营第三天 |链表理论基础 ● 203.移除链表元素 ● 707.设计链表 ● 206.反转链表

【代码】代码随想录算法训练营第三天 |链表理论基础 ● 203.移除链表元素 ● 707.设计链表 ● 206.反转链表。

2023-08-12 18:10:32 632 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除