我一直在利用这个隔离时间学习“现代C++”(构造、移动语义、智能指针等),方法是从零开始实现基本的数据结构。作为第一步,我把一个简单的(但希望有点完整)链接列表作为基本部分之一。(即,for(const auto& i : list )在C++ 17+中)。我的解释对吗?如果有人感兴趣,还有一组单元测试(GTest)。
这是一个非常小的(虽然功能齐全)的单链接列表实现。它支持\\mathcal{O}(1)\\前面插入和删除,以及\\mathcal{O}(1)通过迭代器进行的随机插入和删除。请告诉我是否忽略了使用所提供的方法无法轻松完成的任何主要功能。#pragma once
#include #include #include
class forward_listpublic:
usi