首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

C++ 模板雙向鏈表:Lambda 與 std::function 實現通用操作

     編輯:關於C++

設計目標

使用 C++11 特性(模板、std::function、Lambda)實現一個通用的雙向循環鏈表,支援插入、刪除、查找、正/反向遍歷、自定義動作回調。

核心結構

List lst;
lst.insert(10); lst.insert(20); lst.insert(30);
lst.forEach([](int v){ cout << v << ' '; }); // 10 20 30
lst.forEachReverse([](int v){ cout << v << ' '; }); // 30 20 10
lst.remove(20, [](int v){ cout << "removed " << v; });
lst.forEach([](int v){ cout << v << ' '; }); // 10 30

完整代碼倉庫

完整實現(含 MoveTo, MoveToAt, Dispose 等輔助方法)已上傳 GitHub Gist,歡迎 Star 與 PR。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved