std::list splice 简介
splice
函数通过重新排列链表指针,将一个std::list
中的节点转移到另一个std::list
中。在元素的转移过程中不会触发元素的拷贝或者移动。因此,调用splice
函数之后,元素现有的引用和迭代器都不会失效。
下面是一个将listA
中所有节点附加到listB
的一个简单代码示例,转移的过程不会导致listA
中元素的引用和迭代器失效:
splice
函数通过重新排列链表指针,将一个std::list
中的节点转移到另一个std::list
中。在元素的转移过程中不会触发元素的拷贝或者移动。因此,调用splice
函数之后,元素现有的引用和迭代器都不会失效。
下面是一个将listA
中所有节点附加到listB
的一个简单代码示例,转移的过程不会导致listA
中元素的引用和迭代器失效:
c++11 对智能指针做了很大的优化,废弃了 c++98 中的auto_ptr
,引入了三种新的智能指针:unique_ptr
,shared_ptr
,weak_ptr
。
本文将针对unique_ptr
的一些使用技巧做一些整理和归纳。在正式开始之前,我们首先来回顾一下unique_ptr
的特点:一个unique_ptr
对象内包含一个原始指针,该unique_ptr
对象负责管理原始指针的生命周期。
一个unique_ptr
对象始终是其关联的原始指针的唯一拥有者。
在了解了unique_ptr
的特点之后,我们来具体看看日常开发中unique_ptr
的一些使用场景和技巧。
在开发中,我们经常会遇到或者写出类...