{"id":2209,"date":"2025-03-24T08:48:00","date_gmt":"2025-03-23T23:48:00","guid":{"rendered":"https:\/\/dexall.co.jp\/articles\/?p=2209"},"modified":"2025-03-24T08:48:25","modified_gmt":"2025-03-23T23:48:25","slug":"%e3%80%90%e5%ae%8c%e5%85%a8%e3%82%ac%e3%82%a4%e3%83%89%e3%80%91c%e3%81%ae%e3%83%aa%e3%82%b9%e3%83%88%e6%b4%bb%e7%94%a8%e8%a1%932024%e5%b9%b4%e7%89%88-%e3%83%a1%e3%83%a2%e3%83%aa%e5%8a%b9%e7%8e%87","status":"publish","type":"post","link":"https:\/\/dexall.co.jp\/articles\/?p=2209","title":{"rendered":"\u3010\u5b8c\u5168\u30ac\u30a4\u30c9\u3011C++\u306e\u30ea\u30b9\u30c8\u6d3b\u7528\u88532024\u5e74\u7248 &#8211; \u30e1\u30e2\u30ea\u52b9\u7387\u3068\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u6700\u9069\u5316\u3059\u308b\u5b9f\u8df5\u30c6\u30af\u30cb\u30c3\u30af"},"content":{"rendered":"\n<div class=\"toc\"><br \/>\n<b>Warning<\/b>:  Undefined array key \"is_admin\" in <b>\/home\/xs392991\/dexall.co.jp\/public_html\/articles\/wp-content\/themes\/sango-theme\/library\/gutenberg\/dist\/classes\/Toc.php<\/b> on line <b>116<\/b><br \/>\n<br \/>\n<b>Warning<\/b>:  Undefined array key \"is_category_top\" in <b>\/home\/xs392991\/dexall.co.jp\/public_html\/articles\/wp-content\/themes\/sango-theme\/library\/gutenberg\/dist\/classes\/Toc.php<\/b> on line <b>121<\/b><br \/>\n<br \/>\n<b>Warning<\/b>:  Undefined array key \"is_top\" in <b>\/home\/xs392991\/dexall.co.jp\/public_html\/articles\/wp-content\/themes\/sango-theme\/library\/gutenberg\/dist\/classes\/Toc.php<\/b> on line <b>128<\/b><br \/>\n    <div id=\"toc_container\" class=\"sgb-toc--bullets js-smooth-scroll\" data-dialog-title=\"\u76ee\u6b21\">\n      <p class=\"toc_title\">\u76ee\u6b21 <\/p>\n      <ul class=\"toc_list\">  <li class=\"first\">    <a href=\"#i-0\">C++\u306e\u30ea\u30b9\u30c8\u3068\u306f \u2013 \u57fa\u790e\u304b\u3089\u5fdc\u7528\u307e\u3067<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-1\">STL\u306e\u30ea\u30b9\u30c8\u30b3\u30f3\u30c6\u30ca\u306e\u7279\u5fb4\u3068\u57fa\u672c\u6982\u5ff5<\/a>      <\/li>      <li>        <a href=\"#i-2\">\u914d\u5217\u3068\u30ea\u30b9\u30c8\u306e\u9055\u3044\u3092\u7406\u89e3\u3059\u308b<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-3\">\u53cc\u65b9\u5411\u30ea\u30b9\u30c8\u3068\u3057\u3066\u306e\u30e1\u30ea\u30c3\u30c8<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-4\">C++\u30ea\u30b9\u30c8\u306e\u5b9f\u8df5\u4f7f\u3044\u65b9<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-5\">\u57fa\u672c\u7684\u306a\u30aa\u30da\u30ec\u30fc\u30b7\u30e7\u30f3\u30e1\u30bd\u30c3\u30c9\u306e\u4f7f\u7528\u65b9\u6cd5<\/a>      <\/li>      <li>        <a href=\"#i-6\">\u30a4\u30c6\u30ec\u30fc\u30bf\u3092\u4f7f\u7528\u3057\u305f\u52b9\u7387\u7684\u306a\u30ea\u30b9\u30c8\u64cd\u4f5c<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-7\">\u30e1\u30e2\u30ea\u7ba1\u7406\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-8\">\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u6700\u9069\u5316\u3059\u308b\u30ea\u30b9\u30c8\u306e\u653b\u7565\u30c6\u30af\u30cb\u30c3\u30af<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-9\">\u30e1\u30e2\u30ea\u30a2\u30ed\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u6700\u9069\u5316\u65b9\u6cd5<\/a>      <\/li>      <li>        <a href=\"#i-10\">\u30ad\u30e3\u30c3\u30b7\u30e5\u30d5\u30ec\u30f3\u30c9\u30ea\u30fc\u306a\u30a2\u30af\u30bb\u30b9\u306e\u30dd\u30a4\u30f3\u30c8<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-11\">\u51e6\u7406\u901f\u5ea6\u3092\u5411\u4e0a\u3055\u305b\u308b\u30c6\u30af\u30cb\u30c3\u30af<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-12\">\u30ea\u30b9\u30c8\u3092\u4f7f\u7528\u3059\u308b\u5b9f\u8df5\u7684\u306a\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-13\">\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u30d7\u30fc\u30eb\u306e\u5b9f\u88c5\u4f8b<\/a>      <\/li>      <li>        <a href=\"#i-14\">\u30b2\u30fc\u30e0\u958b\u767a\u3067\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u7ba1\u7406<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-15\">\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u30b7\u30b9\u30c6\u30e0\u3067\u306e\u6d3b\u7528\u65b9\u6cd5<\/a>      <\/li>    <\/ul>  <\/li>  <li class=\"last\">    <a href=\"#i-16\">C++\u30ea\u30b9\u30c8\u306e\u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-17\">\u30e1\u30e2\u30ea\u30ea\u30fc\u30af\u3092\u9632\u3050\u305f\u3081\u306e\u5bfe\u7b56<\/a>      <\/li>      <li>        <a href=\"#i-18\">\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30dc\u30c8\u30eb\u30cd\u30c3\u30af\u306e\u7279\u5b9a\u3068\u89e3\u6c7a<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-19\">\u30b9\u30ec\u30c3\u30c9\u30bb\u30fc\u30d5\u306a\u5b9f\u88c5\u306e\u30dd\u30a4\u30f3\u30c8<\/a>      <\/li>    <\/ul>  <\/li><\/ul>\n      <a href=\"#\" class=\"sgb-toc-button js-toc-button\" rel=\"nofollow\" data-open-dialog=\"true\"><i class=\"fa fa-list\"><\/i><span class=\"sgb-toc-button__text\">\u76ee\u6b21\u3078<\/span><\/a>\n    <\/div><\/div><h2 class=\"wp-block-heading\" id=\"i-0\">C++\u306e\u30ea\u30b9\u30c8\u3068\u306f \u2013 \u57fa\u790e\u304b\u3089\u5fdc\u7528\u307e\u3067<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-1\">STL\u306e\u30ea\u30b9\u30c8\u30b3\u30f3\u30c6\u30ca\u306e\u7279\u5fb4\u3068\u57fa\u672c\u6982\u5ff5<\/h3>\n\n\n\n<p>C++\u306eSTL\uff08Standard Template Library\uff09\u306b\u304a\u3044\u3066\u3001<code>std::list<\/code>\u306f\u53cc\u65b9\u5411\u30ea\u30f3\u30af\u30c9\u30ea\u30b9\u30c8\u3092\u5b9f\u88c5\u3057\u305f\u30b3\u30f3\u30c6\u30ca\u30af\u30e9\u30b9\u3067\u3059\u3002\u5404\u8981\u7d20\u304c\u30c7\u30fc\u30bf\u3068\u524d\u5f8c\u306e\u8981\u7d20\u3078\u306e\u30dd\u30a4\u30f3\u30bf\u3092\u4fdd\u6301\u3059\u308b\u69cb\u9020\u306b\u3088\u308a\u3001\u8981\u7d20\u306e\u633f\u5165\u3084\u524a\u9664\u304c\u9ad8\u901f\u306b\u884c\u3048\u308b\u3068\u3044\u3046\u7279\u5fb4\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u57fa\u672c\u7684\u306a\u7279\u5fb4\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u53cc\u65b9\u5411\u30ea\u30f3\u30af\u30c9\u30ea\u30b9\u30c8\u69cb\u9020<\/li>\n\n\n\n<li>\u30e9\u30f3\u30c0\u30e0\u30a2\u30af\u30bb\u30b9\u4e0d\u53ef<\/li>\n\n\n\n<li>\u8981\u7d20\u306e\u633f\u5165\u30fb\u524a\u9664\u304c\u9ad8\u901f\uff08O(1)\u306e\u6642\u9593\u8907\u96d1\u5ea6\uff09<\/li>\n\n\n\n<li>\u30e1\u30e2\u30ea\u4f7f\u7528\u91cf\u306f\u8981\u7d20\u6570\u306b\u6bd4\u4f8b<\/li>\n<\/ul>\n\n\n\n<p>\u57fa\u672c\u7684\u306a\u4f7f\u3044\u65b9\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#include &lt;list&gt;\n#include &lt;iostream&gt;\n\nint main() {\n    \/\/ \u30ea\u30b9\u30c8\u306e\u5ba3\u8a00\u3068\u521d\u671f\u5316\n    std::list&lt;int&gt; numbers = {1, 2, 3, 4, 5};\n\n    \/\/ \u5148\u982d\u306b\u8981\u7d20\u3092\u8ffd\u52a0\n    numbers.push_front(0);  \/\/ {0, 1, 2, 3, 4, 5}\n\n    \/\/ \u672b\u5c3e\u306b\u8981\u7d20\u3092\u8ffd\u52a0\n    numbers.push_back(6);   \/\/ {0, 1, 2, 3, 4, 5, 6}\n\n    \/\/ \u30a4\u30c6\u30ec\u30fc\u30bf\u3092\u4f7f\u7528\u3057\u305f\u8981\u7d20\u306e\u8868\u793a\n    for (const auto&amp; num : numbers) {\n        std::cout &lt;&lt; num &lt;&lt; \" \";\n    }\n    std::cout &lt;&lt; std::endl;\n\n    return 0;\n}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-2\">\u914d\u5217\u3068\u30ea\u30b9\u30c8\u306e\u9055\u3044\u3092\u7406\u89e3\u3059\u308b<\/h3>\n\n\n\n<p>\u914d\u5217\u3068\u30ea\u30b9\u30c8\u306f\u3001\u305d\u308c\u305e\u308c\u306b\u7570\u306a\u308b\u7279\u5fb4\u3068\u7528\u9014\u304c\u3042\u308a\u307e\u3059\u3002\u4ee5\u4e0b\u306b\u4e3b\u306a\u9055\u3044\u3092\u307e\u3068\u3081\u307e\u3059\uff1a<\/p>\n\n\n<div id=\"id-218eaebd-fda9-463c-ab20-88c9b34af6cd\">\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u7279\u5fb4<\/th><th>std::list<\/th><th>\u914d\u5217\uff08std::array\/vector\uff09<\/th><\/tr><\/thead><tbody><tr><td>\u30e1\u30e2\u30ea\u914d\u7f6e<\/td><td>\u4e0d\u9023\u7d9a<\/td><td>\u9023\u7d9a<\/td><\/tr><tr><td>\u8981\u7d20\u30a2\u30af\u30bb\u30b9<\/td><td>O(n)<\/td><td>O(1)<\/td><\/tr><tr><td>\u633f\u5165\/\u524a\u9664<\/td><td>O(1)<\/td><td>O(n)<\/td><\/tr><tr><td>\u30e1\u30e2\u30ea\u30aa\u30fc\u30d0\u30fc\u30d8\u30c3\u30c9<\/td><td>\u8981\u7d20\u3054\u3068\u306b\u5fc5\u8981<\/td><td>\u6700\u5c0f\u9650<\/td><\/tr><tr><td>\u30a4\u30c6\u30ec\u30fc\u30b7\u30e7\u30f3\u901f\u5ea6<\/td><td>\u6bd4\u8f03\u7684\u9045\u3044<\/td><td>\u9ad8\u901f<\/td><\/tr><tr><td>\u30ad\u30e3\u30c3\u30b7\u30e5\u52b9\u7387<\/td><td>\u4f4e\u3044<\/td><td>\u9ad8\u3044<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\n\n\n<p>\u4f7f\u3044\u5206\u3051\u306e\u6307\u91dd\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u30ea\u30b9\u30c8\u3092\u9078\u3076\u30b1\u30fc\u30b9\uff1a<\/li>\n\n\n\n<li>\u983b\u7e41\u306a\u633f\u5165\/\u524a\u9664\u304c\u5fc5\u8981<\/li>\n\n\n\n<li>\u8981\u7d20\u6570\u304c\u52d5\u7684\u306b\u5909\u5316<\/li>\n\n\n\n<li>\u30e1\u30e2\u30ea\u306e\u518d\u914d\u7f6e\u3092\u907f\u3051\u305f\u3044<\/li>\n\n\n\n<li>\u914d\u5217\u3092\u9078\u3076\u30b1\u30fc\u30b9\uff1a<\/li>\n\n\n\n<li>\u30e9\u30f3\u30c0\u30e0\u30a2\u30af\u30bb\u30b9\u304c\u5fc5\u8981<\/li>\n\n\n\n<li>\u30e1\u30e2\u30ea\u52b9\u7387\u3092\u91cd\u8996<\/li>\n\n\n\n<li>\u30ad\u30e3\u30c3\u30b7\u30e5\u52b9\u7387\u304c\u91cd\u8981<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-3\">\u53cc\u65b9\u5411\u30ea\u30b9\u30c8\u3068\u3057\u3066\u306e\u30e1\u30ea\u30c3\u30c8<\/h3>\n\n\n\n<p><code>std::list<\/code>\u306e\u53cc\u65b9\u5411\u30ea\u30b9\u30c8\u69cb\u9020\u306b\u306f\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u5177\u4f53\u7684\u306a\u30e1\u30ea\u30c3\u30c8\u304c\u3042\u308a\u307e\u3059\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u53cc\u65b9\u5411\u8d70\u67fb\u304c\u53ef\u80fd<\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">std::list&lt;int&gt; numbers = {1, 2, 3, 4, 5};\nauto it = numbers.begin();\n++it;  \/\/ \u524d\u65b9\u5411\u3078\u306e\u79fb\u52d5\n--it;  \/\/ \u5f8c\u65b9\u5411\u3078\u306e\u79fb\u52d5<\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>\u52b9\u7387\u7684\u306a\u8981\u7d20\u306e\u633f\u5165\u3068\u524a\u9664<\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">std::list&lt;int&gt; numbers = {1, 2, 3, 4, 5};\nauto it = std::next(numbers.begin(), 2);  \/\/ 3\u756a\u76ee\u306e\u8981\u7d20\u3092\u6307\u3059\u30a4\u30c6\u30ec\u30fc\u30bf\n\n\/\/ \u8981\u7d20\u306e\u633f\u5165\uff08O(1)\u306e\u6642\u9593\u8907\u96d1\u5ea6\uff09\nnumbers.insert(it, 10);  \/\/ {1, 2, 10, 3, 4, 5}\n\n\/\/ \u8981\u7d20\u306e\u524a\u9664\uff08O(1)\u306e\u6642\u9593\u8907\u96d1\u5ea6\uff09\nnumbers.erase(it);       \/\/ {1, 2, 10, 4, 5}<\/pre>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li>\u30b9\u30d7\u30e9\u30a4\u30b7\u30f3\u30b0\u64cd\u4f5c\u306e\u30b5\u30dd\u30fc\u30c8<\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">std::list&lt;int&gt; list1 = {1, 2, 3};\nstd::list&lt;int&gt; list2 = {4, 5, 6};\n\n\/\/ list2\u306e\u8981\u7d20\u3092list1\u306e\u672b\u5c3e\u306b\u79fb\u52d5\uff08\u30b3\u30d4\u30fc\u3067\u306f\u306a\u304f\u79fb\u52d5\uff09\nlist1.splice(list1.end(), list2);\n\/\/ list1: {1, 2, 3, 4, 5, 6}\n\/\/ list2: {} \uff08\u7a7a\u306b\u306a\u308b\uff09<\/pre>\n\n\n\n<p>\u3053\u308c\u3089\u306e\u7279\u5fb4\u306b\u3088\u308a\u3001<code>std::list<\/code>\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u7528\u9014\u306b\u9069\u3057\u3066\u3044\u307e\u3059\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u983b\u7e41\u306a\u8981\u7d20\u306e\u633f\u5165\/\u524a\u9664\u304c\u5fc5\u8981\u306a\u30c7\u30fc\u30bf\u69cb\u9020\u306e\u5b9f\u88c5<\/li>\n\n\n\n<li>\u30ad\u30e5\u30fc\u3084\u30b9\u30bf\u30c3\u30af\u306e\u5b9f\u88c5<\/li>\n\n\n\n<li>\u8981\u7d20\u306e\u9806\u5e8f\u3092\u7dad\u6301\u3057\u306a\u304c\u3089\u306e\u30de\u30fc\u30b8\u64cd\u4f5c<\/li>\n\n\n\n<li>\u30e1\u30e2\u30ea\u306e\u65ad\u7247\u5316\u3092\u907f\u3051\u305f\u3044\u5834\u5408<\/li>\n<\/ul>\n\n\n\n<p>\u305f\u3060\u3057\u3001\u3053\u308c\u3089\u306e\u30e1\u30ea\u30c3\u30c8\u3092\u6d3b\u304b\u3059\u305f\u3081\u306b\u306f\u3001\u9069\u5207\u306a\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9\u306e\u9078\u629e\u3068\u3001\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u8981\u4ef6\u306e\u614e\u91cd\u306a\u691c\u8a0e\u304c\u5fc5\u8981\u3067\u3059\u3002\u6b21\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001\u3088\u308a\u5b9f\u8df5\u7684\u306a\u4f7f\u7528\u65b9\u6cd5\u306b\u3064\u3044\u3066\u8a73\u3057\u304f\u898b\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-4\">C++\u30ea\u30b9\u30c8\u306e\u5b9f\u8df5\u4f7f\u3044\u65b9<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-5\">\u57fa\u672c\u7684\u306a\u30aa\u30da\u30ec\u30fc\u30b7\u30e7\u30f3\u30e1\u30bd\u30c3\u30c9\u306e\u4f7f\u7528\u65b9\u6cd5<\/h3>\n\n\n\n<p>std::list\u306e\u4e3b\u8981\u306a\u30e1\u30bd\u30c3\u30c9\u3068\u305d\u306e\u4f7f\u7528\u4f8b\u3092\u898b\u3066\u3044\u304d\u307e\u3057\u3087\u3046\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u8981\u7d20\u306e\u8ffd\u52a0\u3068\u524a\u9664<\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#include &lt;list&gt;\n#include &lt;string&gt;\n\nint main() {\n    std::list&lt;std::string&gt; tasks;\n\n    \/\/ \u672b\u5c3e\u3078\u306e\u8ffd\u52a0\n    tasks.push_back(\"Task 1\");    \/\/ O(1)\u306e\u8a08\u7b97\u91cf\n\n    \/\/ \u5148\u982d\u3078\u306e\u8ffd\u52a0\n    tasks.push_front(\"Task 0\");   \/\/ O(1)\u306e\u8a08\u7b97\u91cf\n\n    \/\/ \u6307\u5b9a\u4f4d\u7f6e\u3078\u306e\u633f\u5165\n    auto it = std::next(tasks.begin());\n    tasks.insert(it, \"New Task\"); \/\/ O(1)\u306e\u8a08\u7b97\u91cf\n\n    \/\/ \u672b\u5c3e\u306e\u524a\u9664\n    tasks.pop_back();             \/\/ O(1)\u306e\u8a08\u7b97\u91cf\n\n    \/\/ \u5148\u982d\u306e\u524a\u9664\n    tasks.pop_front();            \/\/ O(1)\u306e\u8a08\u7b97\u91cf\n\n    \/\/ \u6761\u4ef6\u306b\u5408\u3046\u8981\u7d20\u306e\u524a\u9664\n    tasks.remove(\"Task 1\");       \/\/ O(n)\u306e\u8a08\u7b97\u91cf\n\n    \/\/ \u6761\u4ef6\u5f0f\u306b\u3088\u308b\u524a\u9664\n    tasks.remove_if([](const std::string&amp; task) {\n        return task.empty();\n    });                           \/\/ O(n)\u306e\u8a08\u7b97\u91cf\n}<\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>\u30ea\u30b9\u30c8\u306e\u64cd\u4f5c\u3068\u60c5\u5831\u53d6\u5f97<\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">std::list&lt;int&gt; numbers = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3};\n\n\/\/ \u30b5\u30a4\u30ba\u3068\u7a7a\u30c1\u30a7\u30c3\u30af\nsize_t size = numbers.size();    \/\/ \u8981\u7d20\u6570\u306e\u53d6\u5f97\nbool isEmpty = numbers.empty();   \/\/ \u7a7a\u304b\u3069\u3046\u304b\u306e\u78ba\u8a8d\n\n\/\/ \u30bd\u30fc\u30c8\nnumbers.sort();                  \/\/ \u6607\u9806\u30bd\u30fc\u30c8\n\n\/\/ \u91cd\u8907\u8981\u7d20\u306e\u524a\u9664\nnumbers.unique();                \/\/ \u96a3\u63a5\u3059\u308b\u91cd\u8907\u8981\u7d20\u3092\u524a\u9664\n\n\/\/ \u30ea\u30b9\u30c8\u306e\u7d50\u5408\nstd::list&lt;int&gt; other = {7, 8, 9};\nnumbers.merge(other);            \/\/ \u30bd\u30fc\u30c8\u6e08\u307f\u30ea\u30b9\u30c8\u306e\u7d50\u5408<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-6\">\u30a4\u30c6\u30ec\u30fc\u30bf\u3092\u4f7f\u7528\u3057\u305f\u52b9\u7387\u7684\u306a\u30ea\u30b9\u30c8\u64cd\u4f5c<\/h3>\n\n\n\n<p>\u30a4\u30c6\u30ec\u30fc\u30bf\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u30ea\u30b9\u30c8\u306e\u8981\u7d20\u306b\u52b9\u7387\u7684\u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#include &lt;list&gt;\n#include &lt;algorithm&gt;\n\nclass Task {\npublic:\n    int id;\n    std::string name;\n\n    Task(int i, std::string n) : id(i), name(std::move(n)) {}\n};\n\nint main() {\n    std::list&lt;Task&gt; tasks;\n\n    \/\/ \u30a4\u30c6\u30ec\u30fc\u30bf\u3092\u4f7f\u7528\u3057\u305f\u8981\u7d20\u306e\u8ffd\u52a0\n    tasks.emplace_back(1, \"First Task\");\n    tasks.emplace_back(2, \"Second Task\");\n\n    \/\/ \u524d\u65b9\u30a4\u30c6\u30ec\u30fc\u30b7\u30e7\u30f3\n    for (auto it = tasks.begin(); it != tasks.end(); ++it) {\n        std::cout &lt;&lt; \"Task \" &lt;&lt; it-&gt;id &lt;&lt; \": \" &lt;&lt; it-&gt;name &lt;&lt; std::endl;\n    }\n\n    \/\/ \u9006\u65b9\u5411\u30a4\u30c6\u30ec\u30fc\u30b7\u30e7\u30f3\n    for (auto rit = tasks.rbegin(); rit != tasks.rend(); ++rit) {\n        std::cout &lt;&lt; \"Task \" &lt;&lt; rit-&gt;id &lt;&lt; \": \" &lt;&lt; rit-&gt;name &lt;&lt; std::endl;\n    }\n\n    \/\/ \u7bc4\u56f2\u30d9\u30fc\u30b9for\u30eb\u30fc\u30d7\uff08\u6700\u3082\u63a8\u5968\u3055\u308c\u308b\u65b9\u6cd5\uff09\n    for (const auto&amp; task : tasks) {\n        std::cout &lt;&lt; \"Task \" &lt;&lt; task.id &lt;&lt; \": \" &lt;&lt; task.name &lt;&lt; std::endl;\n    }\n}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-7\">\u30e1\u30e2\u30ea\u7ba1\u7406\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9<\/h3>\n\n\n\n<p>\u30ea\u30b9\u30c8\u3092\u4f7f\u7528\u3059\u308b\u969b\u306e\u52b9\u7387\u7684\u306a\u30e1\u30e2\u30ea\u7ba1\u7406\u65b9\u6cd5\u3092\u7d39\u4ecb\u3057\u307e\u3059\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u30e1\u30e2\u30ea\u306e\u4e8b\u524d\u78ba\u4fdd<\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">std::list&lt;int&gt; numbers;\nnumbers.resize(1000);    \/\/ \u5fc5\u8981\u306a\u30b5\u30a4\u30ba\u3092\u4e8b\u524d\u306b\u78ba\u4fdd\n\n\/\/ \u307e\u305f\u306f\nstd::list&lt;int&gt; numbers(1000); \/\/ \u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u3067\u6307\u5b9a<\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>\u30ab\u30b9\u30bf\u30e0\u30a2\u30ed\u30b1\u30fc\u30bf\u306e\u4f7f\u7528<\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#include &lt;memory&gt;\n#include &lt;list&gt;\n\ntemplate&lt;typename T&gt;\nclass PoolAllocator {\n    \/\/ \u30e1\u30e2\u30ea\u30d7\u30fc\u30eb\u306e\u5b9f\u88c5\n};\n\n\/\/ \u30ab\u30b9\u30bf\u30e0\u30a2\u30ed\u30b1\u30fc\u30bf\u3092\u4f7f\u7528\u3057\u305f\u30ea\u30b9\u30c8\nstd::list&lt;int, PoolAllocator&lt;int&gt;&gt; numbers;<\/pre>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li>\u30b9\u30de\u30fc\u30c8\u30dd\u30a4\u30f3\u30bf\u3068\u306e\u4f75\u7528<\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#include &lt;memory&gt;\n#include &lt;list&gt;\n\nclass Resource {\n    \/\/ \u30ea\u30bd\u30fc\u30b9\u30af\u30e9\u30b9\u306e\u5b9f\u88c5\n};\n\n\/\/ \u30b9\u30de\u30fc\u30c8\u30dd\u30a4\u30f3\u30bf\u3092\u4f7f\u7528\u3057\u305f\u30ea\u30bd\u30fc\u30b9\u7ba1\u7406\nstd::list&lt;std::unique_ptr&lt;Resource&gt;&gt; resources;\nresources.push_back(std::make_unique&lt;Resource&gt;());<\/pre>\n\n\n\n<p>\u30e1\u30e2\u30ea\u7ba1\u7406\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\uff1a<\/p>\n\n\n<div id=\"id-0122350d-a5ba-4ef8-bc1d-543fc2fb8ae2\">\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u63a8\u5968\u4e8b\u9805<\/th><th>\u7406\u7531<\/th><th>\u5b9f\u88c5\u4f8b<\/th><\/tr><\/thead><tbody><tr><td>emplace\u7cfb\u30e1\u30bd\u30c3\u30c9\u306e\u4f7f\u7528<\/td><td>\u30b3\u30d4\u30fc\u3092\u6e1b\u3089\u3057\u3001\u52b9\u7387\u7684<\/td><td><code>list.emplace_back()<\/code><\/td><\/tr><tr><td>\u30a4\u30c6\u30ec\u30fc\u30bf\u306e\u7121\u52b9\u5316\u306b\u6ce8\u610f<\/td><td>\u524a\u9664\u64cd\u4f5c\u5f8c\u306f\u7121\u52b9\u306b\u306a\u308b<\/td><td>\u524a\u9664\u5f8c\u306e\u30a4\u30c6\u30ec\u30fc\u30bf\u66f4\u65b0<\/td><\/tr><tr><td>\u30e1\u30e2\u30ea\u30ea\u30fc\u30af\u306e\u9632\u6b62<\/td><td>\u30ea\u30bd\u30fc\u30b9\u7ba1\u7406\u306e\u81ea\u52d5\u5316<\/td><td>\u30b9\u30de\u30fc\u30c8\u30dd\u30a4\u30f3\u30bf\u306e\u4f7f\u7528<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\n\n\n<p>\u4ee5\u4e0a\u306e\u5b9f\u88c5\u30d1\u30bf\u30fc\u30f3\u3092\u9069\u5207\u306b\u7d44\u307f\u5408\u308f\u305b\u308b\u3053\u3068\u3067\u3001\u52b9\u7387\u7684\u3067\u30e1\u30e2\u30ea\u5b89\u5168\u306a\u30ea\u30b9\u30c8\u64cd\u4f5c\u304c\u5b9f\u73fe\u3067\u304d\u307e\u3059\u3002\u6b21\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001\u3053\u308c\u3089\u306e\u57fa\u672c\u3092\u6d3b\u304b\u3057\u305f\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6700\u9069\u5316\u30c6\u30af\u30cb\u30c3\u30af\u306b\u3064\u3044\u3066\u8a73\u3057\u304f\u898b\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-8\">\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u6700\u9069\u5316\u3059\u308b\u30ea\u30b9\u30c8\u306e\u653b\u7565\u30c6\u30af\u30cb\u30c3\u30af<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-9\">\u30e1\u30e2\u30ea\u30a2\u30ed\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u6700\u9069\u5316\u65b9\u6cd5<\/h3>\n\n\n\n<p>\u30e1\u30e2\u30ea\u30a2\u30ed\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u6700\u9069\u5316\u306f\u3001\u30ea\u30b9\u30c8\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u5411\u4e0a\u3055\u305b\u308b\u91cd\u8981\u306a\u8981\u7d20\u3067\u3059\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u30ab\u30b9\u30bf\u30e0\u30a2\u30ed\u30b1\u30fc\u30bf\u306e\u5b9f\u88c5<\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#include &lt;list&gt;\n#include &lt;memory&gt;\n\ntemplate&lt;typename T&gt;\nclass FixedPoolAllocator {\nprivate:\n    static constexpr size_t POOL_SIZE = 1024;\n    T* pool;\n    bool* used;\n    size_t current;\n\npublic:\n    using value_type = T;\n\n    FixedPoolAllocator() : current(0) {\n        pool = new T[POOL_SIZE];\n        used = new bool[POOL_SIZE]();\n    }\n\n    ~FixedPoolAllocator() {\n        delete[] pool;\n        delete[] used;\n    }\n\n    T* allocate(size_t n) {\n        \/\/ \u7a7a\u304d\u30b9\u30da\u30fc\u30b9\u3092\u691c\u7d22\n        for (size_t i = 0; i &lt; POOL_SIZE - n + 1; ++i) {\n            bool can_allocate = true;\n            for (size_t j = 0; j &lt; n; ++j) {\n                if (used[i + j]) {\n                    can_allocate = false;\n                    break;\n                }\n            }\n            if (can_allocate) {\n                for (size_t j = 0; j &lt; n; ++j) {\n                    used[i + j] = true;\n                }\n                return &amp;pool[i];\n            }\n        }\n        throw std::bad_alloc();\n    }\n\n    void deallocate(T* p, size_t n) {\n        size_t index = p - pool;\n        for (size_t i = 0; i &lt; n; ++i) {\n            used[index + i] = false;\n        }\n    }\n};\n\n\/\/ \u4f7f\u7528\u4f8b\nstd::list&lt;int, FixedPoolAllocator&lt;int&gt;&gt; optimized_list;<\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>\u30e1\u30e2\u30ea\u518d\u5229\u7528\u306e\u6700\u9069\u5316<\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#include &lt;list&gt;\n#include &lt;chrono&gt;\n\nclass ListMemoryOptimizer {\nprivate:\n    std::list&lt;int&gt;&amp; target_list;\n    size_t optimal_size;\n\npublic:\n    ListMemoryOptimizer(std::list&lt;int&gt;&amp; list, size_t size) \n        : target_list(list), optimal_size(size) {\n        \/\/ \u6700\u9069\u306a\u30b5\u30a4\u30ba\u3092\u4e88\u7d04\n        target_list.resize(optimal_size);\n    }\n\n    void optimize() {\n        \/\/ \u672a\u4f7f\u7528\u30e1\u30e2\u30ea\u306e\u89e3\u653e\n        target_list.shrink_to_fit();\n\n        \/\/ \u30e1\u30e2\u30ea\u306e\u518d\u78ba\u4fdd\u3092\u9632\u3050\u305f\u3081\u3001\u5bb9\u91cf\u3092\u7dad\u6301\n        size_t current_size = target_list.size();\n        if (current_size &lt; optimal_size) {\n            target_list.resize(optimal_size);\n        }\n    }\n};<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-10\">\u30ad\u30e3\u30c3\u30b7\u30e5\u30d5\u30ec\u30f3\u30c9\u30ea\u30fc\u306a\u30a2\u30af\u30bb\u30b9\u306e\u30dd\u30a4\u30f3\u30c8<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u30c7\u30fc\u30bf\u5c40\u6240\u6027\u306e\u6539\u5584<\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">template&lt;typename T&gt;\nclass CacheOptimizedList {\nprivate:\n    static constexpr size_t CACHE_LINE_SIZE = 64; \/\/ \u4e00\u822c\u7684\u306aCPU\u306e\u30ad\u30e3\u30c3\u30b7\u30e5\u30e9\u30a4\u30f3\u30b5\u30a4\u30ba\n    struct Node {\n        T data;\n        Node* next;\n        Node* prev;\n        char padding[CACHE_LINE_SIZE - sizeof(T) - 2 * sizeof(Node*)];\n    };\n    Node* head;\n    size_t size;\n\npublic:\n    \/\/ \u30ad\u30e3\u30c3\u30b7\u30e5\u30e9\u30a4\u30f3\u306b\u5408\u308f\u305b\u305f\u30ce\u30fc\u30c9\u306e\u914d\u7f6e\n    void optimize() {\n        if (!head) return;\n\n        std::vector&lt;Node*&gt; nodes;\n        Node* current = head;\n        while (current) {\n            nodes.push_back(current);\n            current = current-&gt;next;\n        }\n\n        \/\/ \u30ce\u30fc\u30c9\u3092\u518d\u914d\u7f6e\u3057\u3066\u30ad\u30e3\u30c3\u30b7\u30e5\u30e9\u30a4\u30f3\u306b\u5408\u308f\u305b\u308b\n        for (size_t i = 0; i &lt; nodes.size(); ++i) {\n            void* aligned_memory = std::aligned_alloc(CACHE_LINE_SIZE, sizeof(Node));\n            Node* new_node = new (aligned_memory) Node(*nodes[i]);\n            if (i &gt; 0) new_node-&gt;prev = nodes[i-1];\n            if (i &lt; nodes.size()-1) new_node-&gt;next = nodes[i+1];\n            std::free(nodes[i]);\n            nodes[i] = new_node;\n        }\n        head = nodes[0];\n    }\n};<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-11\">\u51e6\u7406\u901f\u5ea6\u3092\u5411\u4e0a\u3055\u305b\u308b\u30c6\u30af\u30cb\u30c3\u30af<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u30d0\u30c3\u30c1\u51e6\u7406\u306e\u5b9f\u88c5<\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">template&lt;typename T&gt;\nclass BatchProcessor {\npublic:\n    \/\/ \u30d0\u30c3\u30c1\u64cd\u4f5c\u306e\u5b9f\u88c5\n    static void batch_insert(std::list&lt;T&gt;&amp; list, \n                           const std::vector&lt;T&gt;&amp; items,\n                           typename std::list&lt;T&gt;::iterator position) {\n        \/\/ \u30d0\u30c3\u30d5\u30a1\u30ea\u30f3\u30b0\u306b\u3088\u308b\u633f\u5165\u51e6\u7406\u306e\u6700\u9069\u5316\n        std::vector&lt;T&gt; buffer;\n        buffer.reserve(items.size());\n\n        \/\/ \u30d0\u30c3\u30c1\u51e6\u7406\u306e\u5b9f\u884c\n        list.insert(position, items.begin(), items.end());\n    }\n\n    \/\/ \u4e26\u5217\u51e6\u7406\u306e\u6d3b\u7528\n    static void parallel_process(std::list&lt;T&gt;&amp; list,\n                               std::function&lt;void(T&amp;)&gt; processor) {\n        const size_t chunk_size = 1000;\n        std::vector&lt;std::thread&gt; threads;\n\n        auto it = list.begin();\n        while (it != list.end()) {\n            auto chunk_end = std::next(it, \n                std::min(chunk_size, \n                        std::distance(it, list.end())));\n\n            threads.emplace_back([it, chunk_end, &amp;processor]() {\n                std::for_each(it, chunk_end, processor);\n            });\n\n            it = chunk_end;\n        }\n\n        for (auto&amp; thread : threads) {\n            thread.join();\n        }\n    }\n};<\/pre>\n\n\n\n<p>\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6700\u9069\u5316\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\uff1a<\/p>\n\n\n<div id=\"id-20572eea-7060-49d3-8f5f-04c2a2b71037\">\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u6700\u9069\u5316\u30c6\u30af\u30cb\u30c3\u30af<\/th><th>\u52b9\u679c<\/th><th>\u9069\u7528\u30b7\u30fc\u30f3<\/th><\/tr><\/thead><tbody><tr><td>\u30ab\u30b9\u30bf\u30e0\u30a2\u30ed\u30b1\u30fc\u30bf<\/td><td>\u30e1\u30e2\u30ea\u5272\u308a\u5f53\u3066\u306e\u52b9\u7387\u5316<\/td><td>\u983b\u7e41\u306a\u30e1\u30e2\u30ea\u78ba\u4fdd\/\u89e3\u653e<\/td><\/tr><tr><td>\u30ad\u30e3\u30c3\u30b7\u30e5\u6700\u9069\u5316<\/td><td>\u30c7\u30fc\u30bf\u30a2\u30af\u30bb\u30b9\u306e\u9ad8\u901f\u5316<\/td><td>\u5927\u91cf\u30c7\u30fc\u30bf\u306e\u9023\u7d9a\u30a2\u30af\u30bb\u30b9<\/td><\/tr><tr><td>\u30d0\u30c3\u30c1\u51e6\u7406<\/td><td>\u64cd\u4f5c\u306e\u30aa\u30fc\u30d0\u30fc\u30d8\u30c3\u30c9\u524a\u6e1b<\/td><td>\u8907\u6570\u8981\u7d20\u306e\u4e00\u62ec\u51e6\u7406<\/td><\/tr><tr><td>\u4e26\u5217\u51e6\u7406<\/td><td>\u51e6\u7406\u6642\u9593\u306e\u77ed\u7e2e<\/td><td>CPU\u30d0\u30a6\u30f3\u30c9\u306a\u51e6\u7406<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\n\n\n<p>\u3053\u308c\u3089\u306e\u6700\u9069\u5316\u30c6\u30af\u30cb\u30c3\u30af\u3092\u9069\u5207\u306b\u7d44\u307f\u5408\u308f\u305b\u308b\u3053\u3068\u3067\u3001\u30ea\u30b9\u30c8\u306e\u51e6\u7406\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u5927\u5e45\u306b\u5411\u4e0a\u3055\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u6b21\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001\u3053\u308c\u3089\u306e\u30c6\u30af\u30cb\u30c3\u30af\u3092\u6d3b\u7528\u3057\u305f\u5b9f\u8df5\u7684\u306a\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9\u306b\u3064\u3044\u3066\u898b\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-12\">\u30ea\u30b9\u30c8\u3092\u4f7f\u7528\u3059\u308b\u5b9f\u8df5\u7684\u306a\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-13\">\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u30d7\u30fc\u30eb\u306e\u5b9f\u88c5\u4f8b<\/h3>\n\n\n\n<p>\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u30d7\u30fc\u30eb\u306f\u3001\u30ea\u30b9\u30c8\u306e\u7279\u6027\u3092\u6d3b\u304b\u3057\u305f\u4ee3\u8868\u7684\u306a\u5b9f\u88c5\u4f8b\u3067\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#include &lt;list&gt;\n#include &lt;memory&gt;\n#include &lt;mutex&gt;\n#include &lt;condition_variable&gt;\n\nclass DatabaseConnection {\npublic:\n    bool connect(const std::string&amp; connection_string) {\n        \/\/ \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u306e\u5b9f\u88c5\n        return true;\n    }\n    void disconnect() {\n        \/\/ \u63a5\u7d9a\u89e3\u9664\u306e\u5b9f\u88c5\n    }\n    bool execute(const std::string&amp; query) {\n        \/\/ \u30af\u30a8\u30ea\u5b9f\u884c\u306e\u5b9f\u88c5\n        return true;\n    }\n};\n\nclass ConnectionPool {\nprivate:\n    std::list&lt;std::unique_ptr&lt;DatabaseConnection&gt;&gt; connections;\n    std::mutex mutex;\n    std::condition_variable cv;\n    size_t max_connections;\n    std::string connection_string;\n\npublic:\n    ConnectionPool(size_t max_size, const std::string&amp; conn_string)\n        : max_connections(max_size), connection_string(conn_string) {\n        \/\/ \u30d7\u30fc\u30eb\u521d\u671f\u5316\u6642\u306b\u4e00\u5b9a\u6570\u306e\u63a5\u7d9a\u3092\u4f5c\u6210\n        for (size_t i = 0; i &lt; max_size \/ 2; ++i) {\n            auto conn = std::make_unique&lt;DatabaseConnection&gt;();\n            if (conn-&gt;connect(connection_string)) {\n                connections.push_back(std::move(conn));\n            }\n        }\n    }\n\n    std::unique_ptr&lt;DatabaseConnection&gt; acquire() {\n        std::unique_lock&lt;std::mutex&gt; lock(mutex);\n        while (connections.empty() &amp;&amp; connections.size() &gt;= max_connections) {\n            cv.wait(lock);\n        }\n\n        if (!connections.empty()) {\n            auto conn = std::move(connections.front());\n            connections.pop_front();\n            return conn;\n        }\n\n        \/\/ \u65b0\u3057\u3044\u63a5\u7d9a\u306e\u4f5c\u6210\n        auto conn = std::make_unique&lt;DatabaseConnection&gt;();\n        if (conn-&gt;connect(connection_string)) {\n            return conn;\n        }\n        return nullptr;\n    }\n\n    void release(std::unique_ptr&lt;DatabaseConnection&gt; conn) {\n        std::lock_guard&lt;std::mutex&gt; lock(mutex);\n        connections.push_back(std::move(conn));\n        cv.notify_one();\n    }\n};<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-14\">\u30b2\u30fc\u30e0\u958b\u767a\u3067\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u7ba1\u7406<\/h3>\n\n\n\n<p>\u30b2\u30fc\u30e0\u958b\u767a\u306b\u304a\u3051\u308b\u52d5\u7684\u306a\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u7ba1\u7406\u306b\u30ea\u30b9\u30c8\u304c\u6d3b\u7528\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#include &lt;list&gt;\n#include &lt;memory&gt;\n#include &lt;algorithm&gt;\n\nclass GameObject {\npublic:\n    float x, y;\n    bool active;\n\n    virtual void update() = 0;\n    virtual void render() = 0;\n    virtual bool isColliding(const GameObject&amp; other) = 0;\n    virtual ~GameObject() = default;\n};\n\nclass Enemy : public GameObject {\n    void update() override {\n        \/\/ \u6575\u306e\u52d5\u304d\u306e\u66f4\u65b0\n    }\n    void render() override {\n        \/\/ \u63cf\u753b\u51e6\u7406\n    }\n    bool isColliding(const GameObject&amp; other) override {\n        \/\/ \u885d\u7a81\u5224\u5b9a\n        return false;\n    }\n};\n\nclass GameObjectManager {\nprivate:\n    std::list&lt;std::unique_ptr&lt;GameObject&gt;&gt; objects;\n    std::list&lt;std::unique_ptr&lt;GameObject&gt;&gt; new_objects;\n\npublic:\n    void addObject(std::unique_ptr&lt;GameObject&gt; obj) {\n        new_objects.push_back(std::move(obj));\n    }\n\n    void update() {\n        \/\/ \u65b0\u3057\u3044\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u8ffd\u52a0\n        objects.splice(objects.end(), new_objects);\n\n        \/\/ \u975e\u30a2\u30af\u30c6\u30a3\u30d6\u306a\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u524a\u9664\n        objects.remove_if([](const auto&amp; obj) {\n            return !obj-&gt;active;\n        });\n\n        \/\/ \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u66f4\u65b0\n        for (auto&amp; obj : objects) {\n            obj-&gt;update();\n        }\n\n        \/\/ \u885d\u7a81\u5224\u5b9a\n        for (auto it1 = objects.begin(); it1 != objects.end(); ++it1) {\n            for (auto it2 = std::next(it1); it2 != objects.end(); ++it2) {\n                if ((*it1)-&gt;isColliding(**it2)) {\n                    \/\/ \u885d\u7a81\u51e6\u7406\n                }\n            }\n        }\n    }\n\n    void render() {\n        for (auto&amp; obj : objects) {\n            obj-&gt;render();\n        }\n    }\n};<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-15\">\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u30b7\u30b9\u30c6\u30e0\u3067\u306e\u6d3b\u7528\u65b9\u6cd5<\/h3>\n\n\n\n<p>\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u30b7\u30b9\u30c6\u30e0\u3067\u306e\u30bf\u30b9\u30af\u30b9\u30b1\u30b8\u30e5\u30fc\u30ea\u30f3\u30b0\u306b\u30ea\u30b9\u30c8\u3092\u6d3b\u7528\u3059\u308b\u4f8b\u3092\u793a\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#include &lt;list&gt;\n#include &lt;chrono&gt;\n#include &lt;functional&gt;\n#include &lt;thread&gt;\n\nclass RealTimeScheduler {\npublic:\n    struct Task {\n        std::function&lt;void()&gt; function;\n        std::chrono::steady_clock::time_point scheduled_time;\n        std::chrono::milliseconds interval;\n        bool recurring;\n\n        bool operator&lt;(const Task&amp; other) const {\n            return scheduled_time &lt; other.scheduled_time;\n        }\n    };\n\nprivate:\n    std::list&lt;Task&gt; task_queue;\n    std::mutex mutex;\n    std::condition_variable cv;\n    bool running;\n    std::thread scheduler_thread;\n\n    void schedulerLoop() {\n        while (running) {\n            std::unique_lock&lt;std::mutex&gt; lock(mutex);\n\n            if (task_queue.empty()) {\n                cv.wait(lock);\n                continue;\n            }\n\n            \/\/ \u30bf\u30b9\u30af\u306e\u5b9f\u884c\u6642\u523b\u304c\u6765\u308b\u307e\u3067\u5f85\u6a5f\n            auto now = std::chrono::steady_clock::now();\n            if (task_queue.front().scheduled_time &gt; now) {\n                cv.wait_until(lock, task_queue.front().scheduled_time);\n                continue;\n            }\n\n            \/\/ \u30bf\u30b9\u30af\u306e\u53d6\u5f97\u3068\u5b9f\u884c\n            Task task = std::move(task_queue.front());\n            task_queue.pop_front();\n            lock.unlock();\n\n            task.function();\n\n            \/\/ \u7e70\u308a\u8fd4\u3057\u30bf\u30b9\u30af\u306e\u518d\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\n            if (task.recurring) {\n                lock.lock();\n                task.scheduled_time += task.interval;\n                auto pos = std::lower_bound(task_queue.begin(), \n                                          task_queue.end(), task);\n                task_queue.insert(pos, std::move(task));\n            }\n        }\n    }\n\npublic:\n    RealTimeScheduler() : running(true) {\n        scheduler_thread = std::thread(&amp;RealTimeScheduler::schedulerLoop, this);\n    }\n\n    ~RealTimeScheduler() {\n        running = false;\n        cv.notify_all();\n        if (scheduler_thread.joinable()) {\n            scheduler_thread.join();\n        }\n    }\n\n    void scheduleTask(std::function&lt;void()&gt; func, \n                     std::chrono::milliseconds delay,\n                     bool recurring = false,\n                     std::chrono::milliseconds interval = std::chrono::milliseconds(0)) {\n        Task task{\n            std::move(func),\n            std::chrono::steady_clock::now() + delay,\n            interval,\n            recurring\n        };\n\n        std::lock_guard&lt;std::mutex&gt; lock(mutex);\n        auto pos = std::lower_bound(task_queue.begin(), task_queue.end(), task);\n        task_queue.insert(pos, std::move(task));\n        cv.notify_one();\n    }\n};<\/pre>\n\n\n\n<p>\u3053\u308c\u3089\u306e\u5b9f\u88c5\u4f8b\u306f\u3001\u30ea\u30b9\u30c8\u306e\u7279\u6027\u3092\u6d3b\u304b\u3057\u305f\u5b9f\u8df5\u7684\u306a\u4f7f\u7528\u65b9\u6cd5\u3092\u793a\u3057\u3066\u3044\u307e\u3059\u3002\u6b21\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001\u3053\u308c\u3089\u306e\u5b9f\u88c5\u3067\u767a\u751f\u3059\u308b\u53ef\u80fd\u6027\u306e\u3042\u308b\u554f\u984c\u3068\u305d\u306e\u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0\u306b\u3064\u3044\u3066\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-16\">C++\u30ea\u30b9\u30c8\u306e\u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-17\">\u30e1\u30e2\u30ea\u30ea\u30fc\u30af\u3092\u9632\u3050\u305f\u3081\u306e\u5bfe\u7b56<\/h3>\n\n\n\n<p>std::list\u3092\u4f7f\u7528\u3059\u308b\u969b\u306e\u4e00\u822c\u7684\u306a\u30e1\u30e2\u30ea\u30ea\u30fc\u30af\u306e\u539f\u56e0\u3068\u5bfe\u7b56\u3092\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u30b9\u30de\u30fc\u30c8\u30dd\u30a4\u30f3\u30bf\u306e\u6d3b\u7528<\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#include &lt;list&gt;\n#include &lt;memory&gt;\n#include &lt;iostream&gt;\n\nclass Resource {\npublic:\n    Resource(size_t size) : data(new char[size]) {\n        std::cout &lt;&lt; \"Resource allocated\\n\";\n    }\n    ~Resource() {\n        delete[] data;\n        std::cout &lt;&lt; \"Resource freed\\n\";\n    }\nprivate:\n    char* data;\n};\n\n\/\/ \u30e1\u30e2\u30ea\u30ea\u30fc\u30af\u304c\u767a\u751f\u3059\u308b\u53ef\u80fd\u6027\u304c\u3042\u308b\u5b9f\u88c5\nvoid bad_implementation() {\n    std::list&lt;Resource*&gt; resources;\n    resources.push_back(new Resource(1024));  \/\/ \u660e\u793a\u7684\u306a\u89e3\u653e\u304c\u5fc5\u8981\n    \/\/ \u4f8b\u5916\u767a\u751f\u6642\u306b\u30e1\u30e2\u30ea\u30ea\u30fc\u30af\u306e\u53ef\u80fd\u6027\u3042\u308a\n}\n\n\/\/ \u30b9\u30de\u30fc\u30c8\u30dd\u30a4\u30f3\u30bf\u3092\u4f7f\u7528\u3057\u305f\u5b89\u5168\u306a\u5b9f\u88c5\nvoid good_implementation() {\n    std::list&lt;std::unique_ptr&lt;Resource&gt;&gt; resources;\n    resources.push_back(std::make_unique&lt;Resource&gt;(1024));\n    \/\/ \u30b9\u30b3\u30fc\u30d7\u3092\u629c\u3051\u308b\u3068\u81ea\u52d5\u7684\u306b\u89e3\u653e\u3055\u308c\u308b\n}<\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>RAII\u539f\u5247\u306e\u9069\u7528<\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">class ListWrapper {\nprivate:\n    std::list&lt;std::unique_ptr&lt;Resource&gt;&gt; resources;\n\npublic:\n    void addResource(size_t size) {\n        resources.push_back(std::make_unique&lt;Resource&gt;(size));\n    }\n\n    \/\/ \u30c7\u30b9\u30c8\u30e9\u30af\u30bf\u3067\u81ea\u52d5\u7684\u306b\u30ea\u30bd\u30fc\u30b9\u304c\u89e3\u653e\u3055\u308c\u308b\n    ~ListWrapper() = default;\n};<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-18\">\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30dc\u30c8\u30eb\u30cd\u30c3\u30af\u306e\u7279\u5b9a\u3068\u89e3\u6c7a<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u30d7\u30ed\u30d5\u30a1\u30a4\u30ea\u30f3\u30b0\u30c4\u30fc\u30eb\u306e\u6d3b\u7528<\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#include &lt;chrono&gt;\n\nclass ListProfiler {\npublic:\n    template&lt;typename Func&gt;\n    static auto measure_time(Func&amp;&amp; func) {\n        auto start = std::chrono::high_resolution_clock::now();\n        std::forward&lt;Func&gt;(func)();\n        auto end = std::chrono::high_resolution_clock::now();\n        return std::chrono::duration_cast&lt;std::chrono::microseconds&gt;(end - start);\n    }\n\n    static void analyze_performance(std::list&lt;int&gt;&amp; list) {\n        \/\/ \u633f\u5165\u64cd\u4f5c\u306e\u8a08\u6e2c\n        auto insert_time = measure_time([&amp;]() {\n            list.insert(list.begin(), 1);\n        });\n\n        \/\/ \u691c\u7d22\u64cd\u4f5c\u306e\u8a08\u6e2c\n        auto find_time = measure_time([&amp;]() {\n            std::find(list.begin(), list.end(), 1);\n        });\n\n        \/\/ \u524a\u9664\u64cd\u4f5c\u306e\u8a08\u6e2c\n        auto erase_time = measure_time([&amp;]() {\n            list.erase(list.begin());\n        });\n\n        std::cout &lt;&lt; \"Insert time: \" &lt;&lt; insert_time.count() &lt;&lt; \"\u00b5s\\n\"\n                  &lt;&lt; \"Find time: \" &lt;&lt; find_time.count() &lt;&lt; \"\u00b5s\\n\"\n                  &lt;&lt; \"Erase time: \" &lt;&lt; erase_time.count() &lt;&lt; \"\u00b5s\\n\";\n    }\n};<\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6700\u9069\u5316\u30c6\u30af\u30cb\u30c3\u30af<\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">template&lt;typename T&gt;\nclass OptimizedList {\nprivate:\n    std::list&lt;T&gt; data;\n    std::unordered_map&lt;T, typename std::list&lt;T&gt;::iterator&gt; index;\n\npublic:\n    void insert(const T&amp; value) {\n        auto it = data.insert(data.end(), value);\n        index = it;\n    }\n\n    bool find(const T&amp; value) {\n        return index.find(value) != index.end();\n    }\n\n    void remove(const T&amp; value) {\n        auto it = index.find(value);\n        if (it != index.end()) {\n            data.erase(it-&gt;second);\n            index.erase(it);\n        }\n    }\n};<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-19\">\u30b9\u30ec\u30c3\u30c9\u30bb\u30fc\u30d5\u306a\u5b9f\u88c5\u306e\u30dd\u30a4\u30f3\u30c8<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u30df\u30e5\u30fc\u30c6\u30c3\u30af\u30b9\u3092\u4f7f\u7528\u3057\u305f\u57fa\u672c\u7684\u306a\u4fdd\u8b77<\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">template&lt;typename T&gt;\nclass ThreadSafeList {\nprivate:\n    std::list&lt;T&gt; data;\n    mutable std::mutex mutex;\n\npublic:\n    void push_back(const T&amp; value) {\n        std::lock_guard&lt;std::mutex&gt; lock(mutex);\n        data.push_back(value);\n    }\n\n    void push_front(const T&amp; value) {\n        std::lock_guard&lt;std::mutex&gt; lock(mutex);\n        data.push_front(value);\n    }\n\n    bool empty() const {\n        std::lock_guard&lt;std::mutex&gt; lock(mutex);\n        return data.empty();\n    }\n\n    size_t size() const {\n        std::lock_guard&lt;std::mutex&gt; lock(mutex);\n        return data.size();\n    }\n\n    \/\/ \u30a4\u30c6\u30ec\u30fc\u30bf\u3092\u5b89\u5168\u306b\u4f7f\u7528\u3059\u308b\u305f\u3081\u306e\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8\u6a5f\u80fd\n    std::list&lt;T&gt; snapshot() const {\n        std::lock_guard&lt;std::mutex&gt; lock(mutex);\n        return data;\n    }\n};<\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>\u7d30\u7c92\u5ea6\u306e\u30ed\u30c3\u30af\u5236\u5fa1<\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">template&lt;typename T&gt;\nclass FineGrainedList {\nprivate:\n    struct Node {\n        T data;\n        std::mutex mutex;\n        std::unique_ptr&lt;Node&gt; next;\n    };\n\n    std::unique_ptr&lt;Node&gt; head;\n    mutable std::mutex head_mutex;\n\npublic:\n    void insert(const T&amp; value) {\n        std::unique_ptr&lt;Node&gt; new_node(new Node{value});\n        std::lock_guard&lt;std::mutex&gt; head_lock(head_mutex);\n\n        if (!head) {\n            head = std::move(new_node);\n            return;\n        }\n\n        Node* current = head.get();\n        std::unique_lock&lt;std::mutex&gt; current_lock(current-&gt;mutex);\n\n        while (current-&gt;next) {\n            Node* next = current-&gt;next.get();\n            std::unique_lock&lt;std::mutex&gt; next_lock(next-&gt;mutex);\n            current_lock.unlock();\n            current = next;\n            current_lock = std::move(next_lock);\n        }\n\n        current-&gt;next = std::move(new_node);\n    }\n};<\/pre>\n\n\n\n<p>\u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\uff1a<\/p>\n\n\n<div id=\"id-a9cdcf3e-aaab-4eb1-88ac-cb87b7c11fcd\">\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u554f\u984c<\/th><th>\u5bfe\u7b56<\/th><th>\u5b9f\u88c5\u306e\u30dd\u30a4\u30f3\u30c8<\/th><\/tr><\/thead><tbody><tr><td>\u30e1\u30e2\u30ea\u30ea\u30fc\u30af<\/td><td>\u30b9\u30de\u30fc\u30c8\u30dd\u30a4\u30f3\u30bf\u306e\u4f7f\u7528<\/td><td>unique_ptr\u3067\u30ea\u30bd\u30fc\u30b9\u7ba1\u7406<\/td><\/tr><tr><td>\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u4f4e\u4e0b<\/td><td>\u30ad\u30e3\u30c3\u30b7\u30f3\u30b0\uff06\u30a4\u30f3\u30c7\u30c3\u30af\u30b9<\/td><td>\u30cf\u30c3\u30b7\u30e5\u30de\u30c3\u30d7\u3068\u306e\u4f75\u7528<\/td><\/tr><tr><td>\u30c7\u30fc\u30bf\u7af6\u5408<\/td><td>\u9069\u5207\u306a\u30ed\u30c3\u30af\u5236\u5fa1<\/td><td>\u30df\u30e5\u30fc\u30c6\u30c3\u30af\u30b9\u306b\u3088\u308b\u4fdd\u8b77<\/td><\/tr><tr><td>\u30a4\u30c6\u30ec\u30fc\u30bf\u7121\u52b9\u5316<\/td><td>\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8\u65b9\u5f0f<\/td><td>\u5b89\u5168\u306a\u30b3\u30d4\u30fc\u306e\u63d0\u4f9b<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\n\n\n<p>\u3053\u308c\u3089\u306e\u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0\u624b\u6cd5\u3092\u9069\u5207\u306b\u7d44\u307f\u5408\u308f\u305b\u308b\u3053\u3068\u3067\u3001\u5b89\u5168\u3067\u52b9\u7387\u7684\u306a\u30ea\u30b9\u30c8\u64cd\u4f5c\u3092\u5b9f\u73fe\u3067\u304d\u307e\u3059\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Warning: Undefined array key &#8220;is_admin&#8221; in \/home\/xs392991\/dexall.co.jp\/public_html\/articles\/wp-content\/themes\/ &#8230; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":{"0":"post-2209","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-cpp","7":"nothumb"},"_links":{"self":[{"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/posts\/2209","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2209"}],"version-history":[{"count":1,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/posts\/2209\/revisions"}],"predecessor-version":[{"id":2210,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/posts\/2209\/revisions\/2210"}],"wp:attachment":[{"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2209"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2209"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2209"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}