{"id":1769,"date":"2025-03-24T08:49:57","date_gmt":"2025-03-23T23:49:57","guid":{"rendered":"https:\/\/dexall.co.jp\/articles\/?p=1769"},"modified":"2025-03-24T08:49:57","modified_gmt":"2025-03-23T23:49:57","slug":"c%e9%85%8d%e5%88%97%e5%ae%8c%e5%85%a8%e3%82%ac%e3%82%a4%e3%83%89%ef%bc%9astdarray%e3%81%a7%e5%ae%9f%e7%8f%be%e9%ab%98%e9%80%9f%e3%81%a7%e5%ae%89%e5%85%a8%e3%81%aa%e9%85%8d%e5%88%97","status":"publish","type":"post","link":"https:\/\/dexall.co.jp\/articles\/?p=1769","title":{"rendered":"C++\u914d\u5217\u5b8c\u5168\u30ac\u30a4\u30c9\uff1astd::array\u3067\u5b9f\u73fe\u9ad8\u901f\u3067\u5b89\u5168\u306a\u914d\u5217"},"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++\u306b\u304a\u3051\u308b\u914d\u5217\u306e\u57fa\u790e\u77e5\u8b58<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-1\">C\u5f62\u5f0f\u914d\u5217\u3068std::array\u306e\u7279\u5fb4\u3068\u9055\u3044<\/a>      <\/li>      <li>        <a href=\"#i-2\">\u30e1\u30e2\u30ea\u7ba1\u7406\u306b\u304a\u3051\u308b\u914d\u5217\u306e\u5f79\u5272<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-3\">\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u7279\u6027<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-4\">std::array\u306e\u5b9f\u8df5\u7684\u306a\u4f7f\u3044\u65b9<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-5\">std::array\u306e\u521d\u671f\u5316\u30c6\u30af\u30cb\u30c3\u30af<\/a>      <\/li>      <li>        <a href=\"#i-6\">\u8981\u7d20\u3078\u306e\u30a2\u30af\u30bb\u30b9\u3068\u64cd\u4f5c\u65b9\u6cd5<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-7\">\u30a4\u30c6\u30ec\u30fc\u30bf\u3092\u4f7f\u7528\u3057\u305f\u52b9\u7387\u7684\u306a\u51e6\u7406<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-8\">\u914d\u5217\u64cd\u4f5c\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-9\">\u5883\u754c\u30c1\u30a7\u30c3\u30af\u306b\u3088\u308b\u5b89\u5168\u6027\u306e\u78ba\u4fdd<\/a>      <\/li>      <li>        <a href=\"#i-10\">\u30e1\u30e2\u30ea\u30ea\u30fc\u30af\u3092\u9632\u3050\u305f\u3081\u306e\u6ce8\u610f\u70b9<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-11\">\u6700\u9069\u5316\u306e\u305f\u3081\u306e\u30e1\u30e2\u30ea\u30a2\u30e9\u30a4\u30e1\u30f3\u30c8<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-12\">\u5b9f\u8df5\u7684\u306a\u30b3\u30fc\u30c9\u4f8b\u3068\u5fdc\u7528\u30c6\u30af\u30cb\u30c3\u30af<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-13\">\u591a\u6b21\u5143\u914d\u5217\u306e\u52b9\u7387\u7684\u306a\u5b9f\u88c5\u65b9\u6cd5<\/a>      <\/li>      <li>        <a href=\"#i-14\">STL\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u3068\u306e\u7d44\u307f\u5408\u308f\u305b<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-15\">\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u6d3b\u7528\u3057\u305f\u6c4e\u7528\u7684\u306a\u914d\u5217\u51e6\u7406<\/a>      <\/li>    <\/ul>  <\/li>  <li class=\"last\">    <a href=\"#i-16\">\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6700\u9069\u5316\u3068\u30c7\u30d0\u30c3\u30b0<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-17\">\u30ad\u30e3\u30c3\u30b7\u30e5\u30d5\u30ec\u30f3\u30c9\u30ea\u30fc\u306a\u914d\u5217\u30a2\u30af\u30bb\u30b9<\/a>      <\/li>      <li>        <a href=\"#i-18\">\u4e00\u822c\u7684\u306a\u30d0\u30b0\u306e\u767a\u898b\u3068\u4fee\u6b63\u65b9\u6cd5<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-19\">\u30d7\u30ed\u30d5\u30a1\u30a4\u30ea\u30f3\u30b0\u306b\u3088\u308b\u6027\u80fd\u6539\u5584<\/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++\u306b\u304a\u3051\u308b\u914d\u5217\u306e\u57fa\u790e\u77e5\u8b58<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-1\">C\u5f62\u5f0f\u914d\u5217\u3068std::array\u306e\u7279\u5fb4\u3068\u9055\u3044<\/h3>\n\n\n\n<p>C++\u3067\u306f\u3001\u914d\u5217\u3092\u6271\u3046\u65b9\u6cd5\u3068\u3057\u3066\u4f1d\u7d71\u7684\u306aC\u5f62\u5f0f\u914d\u5217\u3068\u3001\u8fd1\u4ee3\u7684\u306astd::array\u306e2\u3064\u306e\u9078\u629e\u80a2\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n<div id=\"id-e65d268e-9428-4c3c-829a-7477469942ea\">\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u7279\u5fb4<\/th><th>C\u5f62\u5f0f\u914d\u5217<\/th><th>std::array<\/th><\/tr><\/thead><tbody><tr><td>\u30b5\u30a4\u30ba\u7ba1\u7406<\/td><td>\u30b3\u30f3\u30d1\u30a4\u30eb\u6642\u306b\u56fa\u5b9a<\/td><td>\u30b3\u30f3\u30d1\u30a4\u30eb\u6642\u306b\u56fa\u5b9a<\/td><\/tr><tr><td>\u5883\u754c\u30c1\u30a7\u30c3\u30af<\/td><td>\u306a\u3057<\/td><td>at()\u30e1\u30bd\u30c3\u30c9\u3067\u53ef\u80fd<\/td><\/tr><tr><td>\u30b5\u30a4\u30ba\u53d6\u5f97<\/td><td>\u4e0d\u53ef\uff08\u5225\u9014\u7ba1\u7406\u5fc5\u8981\uff09<\/td><td>size()\u30e1\u30bd\u30c3\u30c9\u3067\u53ef\u80fd<\/td><\/tr><tr><td>STL\u3068\u306e\u4e92\u63db\u6027<\/td><td>\u4f4e\u3044<\/td><td>\u5b8c\u5168\u306a\u4e92\u63db\u6027<\/td><\/tr><tr><td>\u30e1\u30e2\u30ea\u52b9\u7387<\/td><td>\u6700\u9ad8<\/td><td>\u6700\u9ad8\uff08\u30aa\u30fc\u30d0\u30fc\u30d8\u30c3\u30c9\u306a\u3057\uff09<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\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=\"\">\/\/ C\u5f62\u5f0f\u914d\u5217\u306e\u4f8b\nint oldArray[5] = {1, 2, 3, 4, 5};\n\n\/\/ std::array\u306e\u4f8b\n#include &lt;array&gt;\nstd::array&lt;int, 5&gt; modernArray = {1, 2, 3, 4, 5};<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-2\">\u30e1\u30e2\u30ea\u7ba1\u7406\u306b\u304a\u3051\u308b\u914d\u5217\u306e\u5f79\u5272<\/h3>\n\n\n\n<p>\u914d\u5217\u306e\u30e1\u30e2\u30ea\u7ba1\u7406\u306f\u3001\u52b9\u7387\u7684\u306a\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306e\u8981\u3068\u306a\u308a\u307e\u3059\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u30e1\u30e2\u30ea\u30ec\u30a4\u30a2\u30a6\u30c8<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u9023\u7d9a\u3057\u305f\u30e1\u30e2\u30ea\u9818\u57df\u306b\u914d\u7f6e<\/li>\n\n\n\n<li>\u5404\u8981\u7d20\u306f\u540c\u3058\u30b5\u30a4\u30ba\u3092\u6301\u3064<\/li>\n\n\n\n<li>\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306b\u3088\u308b\u76f4\u63a5\u30a2\u30af\u30bb\u30b9\u304c\u53ef\u80fd<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u30b9\u30bf\u30c3\u30af\u914d\u7f6e\u3068\u30d2\u30fc\u30d7\u914d\u7f6e<\/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=\"\">\/\/ \u30b9\u30bf\u30c3\u30af\u4e0a\u306e\u914d\u5217\uff08\u9ad8\u901f\u306a\u30a2\u30af\u30bb\u30b9\uff09\nstd::array&lt;int, 1000&gt; stackArray;\n\n\/\/ \u30d2\u30fc\u30d7\u4e0a\u306e\u52d5\u7684\u914d\u5217\uff08\u5927\u304d\u306a\u30b5\u30a4\u30ba\u306b\u5bfe\u5fdc\uff09\nstd::vector&lt;int&gt; heapArray(1000);<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-3\">\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u7279\u6027<\/h3>\n\n\n\n<p>\u914d\u5217\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u7279\u6027\u306f\u4ee5\u4e0b\u306e\u8981\u56e0\u306b\u5f71\u97ff\u3055\u308c\u307e\u3059\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u30e1\u30e2\u30ea\u30a2\u30af\u30bb\u30b9\u30d1\u30bf\u30fc\u30f3<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u9023\u7d9a\u30a2\u30af\u30bb\u30b9: \u6700\u3082\u9ad8\u901f<\/li>\n\n\n\n<li>\u30e9\u30f3\u30c0\u30e0\u30a2\u30af\u30bb\u30b9: \u30ad\u30e3\u30c3\u30b7\u30e5\u30df\u30b9\u306e\u53ef\u80fd\u6027<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u30ad\u30e3\u30c3\u30b7\u30e5\u52b9\u7387<\/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::array&lt;int, 1000&gt; arr;\n\/\/ \u52b9\u7387\u7684\u306a\u30a4\u30c6\u30ec\u30fc\u30b7\u30e7\u30f3\uff08\u30ad\u30e3\u30c3\u30b7\u30e5\u30d5\u30ec\u30f3\u30c9\u30ea\u30fc\uff09\nfor (const auto&amp; element : arr) {\n    \/\/ \u8981\u7d20\u306e\u51e6\u7406\n}<\/pre>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li>\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6bd4\u8f03<\/li>\n<\/ol>\n\n\n<div id=\"id-a6d68d59-66bd-48ba-ae79-36962d757356\">\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u64cd\u4f5c<\/th><th>\u6642\u9593\u8907\u96d1\u5ea6<\/th><th>\u5099\u8003<\/th><\/tr><\/thead><tbody><tr><td>\u8981\u7d20\u30a2\u30af\u30bb\u30b9<\/td><td>O(1)<\/td><td>\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306b\u3088\u308b\u76f4\u63a5\u30a2\u30af\u30bb\u30b9<\/td><\/tr><tr><td>\u30a4\u30c6\u30ec\u30fc\u30b7\u30e7\u30f3<\/td><td>O(n)<\/td><td>\u30ad\u30e3\u30c3\u30b7\u30e5\u30d5\u30ec\u30f3\u30c9\u30ea\u30fc<\/td><\/tr><tr><td>\u5883\u754c\u30c1\u30a7\u30c3\u30af<\/td><td>O(1)<\/td><td>std::array::at()\u4f7f\u7528\u6642<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\n\n\n<p>std::array\u306f\u3001C\u5f62\u5f0f\u914d\u5217\u306e\u6301\u3064\u9ad8\u3044\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u7dad\u6301\u3057\u306a\u304c\u3089\u3001\u3088\u308a\u5b89\u5168\u3067\u4f7f\u3044\u3084\u3059\u3044\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002\u5b9f\u52d9\u3067\u306f\u3001\u7279\u5225\u306a\u7406\u7531\u304c\u306a\u3044\u9650\u308a\u3001std::array\u306e\u4f7f\u7528\u304c\u63a8\u5968\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-4\">std::array\u306e\u5b9f\u8df5\u7684\u306a\u4f7f\u3044\u65b9<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-5\">std::array\u306e\u521d\u671f\u5316\u30c6\u30af\u30cb\u30c3\u30af<\/h3>\n\n\n\n<p>std::array\u306f\u69d8\u3005\u306a\u65b9\u6cd5\u3067\u521d\u671f\u5316\u3067\u304d\u307e\u3059\u3002\u4ee5\u4e0b\u306b\u4e3b\u8981\u306a\u521d\u671f\u5316\u30d1\u30bf\u30fc\u30f3\u3092\u793a\u3057\u307e\u3059\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;array&gt;\n\n\/\/ 1. \u4e00\u62ec\u521d\u671f\u5316\nstd::array&lt;int, 5&gt; arr1 = {1, 2, 3, 4, 5};\n\n\/\/ 2. \u90e8\u5206\u521d\u671f\u5316\uff08\u6b8b\u308a\u306f0\u3067\u521d\u671f\u5316\uff09\nstd::array&lt;int, 5&gt; arr2 = {1, 2};  \/\/ {1, 2, 0, 0, 0}\n\n\/\/ 3. \u5024\u306b\u3088\u308b\u521d\u671f\u5316\nstd::array&lt;int, 3&gt; arr3;\narr3.fill(42);  \/\/ {42, 42, 42}\n\n\/\/ 4. constexpr\u306b\u3088\u308b\u30b3\u30f3\u30d1\u30a4\u30eb\u6642\u521d\u671f\u5316\nconstexpr std::array&lt;int, 3&gt; arr4 = {1, 2, 3};<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-6\">\u8981\u7d20\u3078\u306e\u30a2\u30af\u30bb\u30b9\u3068\u64cd\u4f5c\u65b9\u6cd5<\/h3>\n\n\n\n<p>\u5b89\u5168\u3067\u52b9\u7387\u7684\u306a\u8981\u7d20\u30a2\u30af\u30bb\u30b9\u3068\u64cd\u4f5c\u306e\u65b9\u6cd5\u3092\u7d39\u4ecb\u3057\u307e\u3059\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=\"\">std::array&lt;int, 5&gt; arr = {1, 2, 3, 4, 5};\n\n\/\/ 1. \u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306b\u3088\u308b\u30a2\u30af\u30bb\u30b9\nint first = arr[0];         \/\/ \u5883\u754c\u30c1\u30a7\u30c3\u30af\u306a\u3057\nint second = arr.at(1);     \/\/ \u5883\u754c\u30c1\u30a7\u30c3\u30af\u3042\u308a\uff08\u4f8b\u5916\u767a\u751f\u306e\u53ef\u80fd\u6027\uff09\n\n\/\/ 2. \u5148\u982d\u30fb\u672b\u5c3e\u8981\u7d20\u3078\u306e\u30a2\u30af\u30bb\u30b9\nint front_val = arr.front();  \/\/ \u5148\u982d\u8981\u7d20\nint back_val = arr.back();    \/\/ \u672b\u5c3e\u8981\u7d20\n\n\/\/ 3. \u30c7\u30fc\u30bf\u30dd\u30a4\u30f3\u30bf\u306e\u53d6\u5f97\nint* data = arr.data();       \/\/ \u751f\u30dd\u30a4\u30f3\u30bf\u306e\u53d6\u5f97\n\n\/\/ 4. \u914d\u5217\u30b5\u30a4\u30ba\u306e\u53d6\u5f97\nsize_t size = arr.size();     \/\/ \u8981\u7d20\u6570\u306e\u53d6\u5f97\nbool is_empty = arr.empty();  \/\/ \u7a7a\u304b\u3069\u3046\u304b\u306e\u78ba\u8a8d<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-7\">\u30a4\u30c6\u30ec\u30fc\u30bf\u3092\u4f7f\u7528\u3057\u305f\u52b9\u7387\u7684\u306a\u51e6\u7406<\/h3>\n\n\n\n<p>\u30a4\u30c6\u30ec\u30fc\u30bf\u3092\u6d3b\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u3088\u308a\u67d4\u8edf\u306a\u914d\u5217\u64cd\u4f5c\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3059\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=\"\">std::array&lt;int, 5&gt; arr = {1, 2, 3, 4, 5};\n\n\/\/ 1. \u7bc4\u56f2\u30d9\u30fc\u30b9\u306efor\u6587\nfor (const auto&amp; element : arr) {\n    std::cout &lt;&lt; element &lt;&lt; ' ';\n}\n\n\/\/ 2. \u30a4\u30c6\u30ec\u30fc\u30bf\u3092\u4f7f\u7528\u3057\u305f\u51e6\u7406\nfor (auto it = arr.begin(); it != arr.end(); ++it) {\n    *it *= 2;  \/\/ \u5404\u8981\u7d20\u30922\u500d\u306b\n}\n\n\/\/ 3. \u9006\u9806\u30a4\u30c6\u30ec\u30fc\u30bf\u306e\u4f7f\u7528\nfor (auto rit = arr.rbegin(); rit != arr.rend(); ++rit) {\n    std::cout &lt;&lt; *rit &lt;&lt; ' ';\n}\n\n\/\/ 4. STL\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u3068\u306e\u7d44\u307f\u5408\u308f\u305b\n#include &lt;algorithm&gt;\nstd::sort(arr.begin(), arr.end());                    \/\/ \u30bd\u30fc\u30c8\nauto max = std::max_element(arr.begin(), arr.end());  \/\/ \u6700\u5927\u5024\u306e\u691c\u7d22<\/pre>\n\n\n\n<p>\u5b9f\u8df5\u7684\u306a\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9\u4f8b\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=\"\">\/\/ \u56fa\u5b9a\u30b5\u30a4\u30ba\u306e\u30d0\u30c3\u30d5\u30a1\u3068\u3057\u3066\u306e\u4f7f\u7528\nstd::array&lt;char, 1024&gt; buffer;\nsocket.read(buffer.data(), buffer.size());\n\n\/\/ \u5ea7\u6a19\u70b9\u306e\u7ba1\u7406\nstruct Point { double x, y; };\nstd::array&lt;Point, 4&gt; rectangle = {\n    Point{0, 0}, Point{1, 0},\n    Point{1, 1}, Point{0, 1}\n};\n\n\/\/ \u30eb\u30c3\u30af\u30a2\u30c3\u30d7\u30c6\u30fc\u30d6\u30eb\u306e\u5b9f\u88c5\nconstexpr std::array&lt;double, 360&gt; sin_table = [](){\n    std::array&lt;double, 360&gt; table{};\n    for (int i = 0; i &lt; 360; ++i) {\n        table[i] = std::sin(i * M_PI \/ 180.0);\n    }\n    return table;\n}();<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-8\">\u914d\u5217\u64cd\u4f5c\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-9\">\u5883\u754c\u30c1\u30a7\u30c3\u30af\u306b\u3088\u308b\u5b89\u5168\u6027\u306e\u78ba\u4fdd<\/h3>\n\n\n\n<p>\u914d\u5217\u64cd\u4f5c\u306b\u304a\u3051\u308b\u6700\u3082\u91cd\u8981\u306a\u5b89\u5168\u5bfe\u7b56\u306f\u3001\u9069\u5207\u306a\u5883\u754c\u30c1\u30a7\u30c3\u30af\u3067\u3059\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;array&gt;\n#include &lt;stdexcept&gt;\n\ntemplate&lt;typename T, size_t N&gt;\nclass SafeArray {\nprivate:\n    std::array&lt;T, N&gt; data;\n\npublic:\n    \/\/ \u5b89\u5168\u306a\u8981\u7d20\u30a2\u30af\u30bb\u30b9\n    T&amp; at(size_t index) {\n        if (index &gt;= N) {\n            throw std::out_of_range(\"Index out of bounds\");\n        }\n        return data[index];\n    }\n\n    \/\/ \u7bc4\u56f2\u30c1\u30a7\u30c3\u30af\u4ed8\u304d\u306e\u8981\u7d20\u8a2d\u5b9a\n    bool set(size_t index, const T&amp; value) {\n        if (index &gt;= N) {\n            return false;\n        }\n        data[index] = value;\n        return true;\n    }\n};\n\n\/\/ \u4f7f\u7528\u4f8b\nSafeArray&lt;int, 5&gt; arr;\ntry {\n    arr.at(6) = 42;  \/\/ \u4f8b\u5916\u304c\u767a\u751f\n} catch (const std::out_of_range&amp; e) {\n    std::cerr &lt;&lt; \"Error: \" &lt;&lt; e.what() &lt;&lt; std::endl;\n}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-10\">\u30e1\u30e2\u30ea\u30ea\u30fc\u30af\u3092\u9632\u3050\u305f\u3081\u306e\u6ce8\u610f\u70b9<\/h3>\n\n\n\n<p>std::array\u3092\u4f7f\u7528\u3059\u308b\u969b\u306e\u30e1\u30e2\u30ea\u7ba1\u7406\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u30b9\u30b3\u30fc\u30d7\u7ba1\u7406<\/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=\"\">void processData() {\n    \/\/ \u30b9\u30b3\u30fc\u30d7\u3092\u629c\u3051\u308b\u3068\u81ea\u52d5\u7684\u306b\u89e3\u653e\u3055\u308c\u308b\n    std::array&lt;int, 1000&gt; tempArray;\n    \/\/ \u51e6\u7406\n} \/\/ \u3053\u3053\u3067\u81ea\u52d5\u7684\u306b\u30af\u30ea\u30fc\u30f3\u30a2\u30c3\u30d7<\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>\u30ea\u30bd\u30fc\u30b9\u7ba1\u7406<\/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=\"\">\/\/ RAII\u30d1\u30bf\u30fc\u30f3\u3092\u6d3b\u7528\u3057\u305f\u5b89\u5168\u306a\u30ea\u30bd\u30fc\u30b9\u7ba1\u7406\nclass ResourceManager {\nprivate:\n    std::array&lt;FILE*, 10&gt; fileHandles;\n\npublic:\n    ResourceManager() {\n        fileHandles.fill(nullptr);\n    }\n\n    ~ResourceManager() {\n        for (auto&amp; handle : fileHandles) {\n            if (handle) {\n                fclose(handle);\n                handle = nullptr;\n            }\n        }\n    }\n};<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-11\">\u6700\u9069\u5316\u306e\u305f\u3081\u306e\u30e1\u30e2\u30ea\u30a2\u30e9\u30a4\u30e1\u30f3\u30c8<\/h3>\n\n\n\n<p>\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u6700\u5927\u5316\u3059\u308b\u305f\u3081\u306e\u30a2\u30e9\u30a4\u30e1\u30f3\u30c8\u8003\u616e\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=\"\">\/\/ \u30a2\u30e9\u30a4\u30e1\u30f3\u30c8\u6307\u5b9a\u306b\u3088\u308b\u6700\u9069\u5316\nstruct alignas(16) AlignedData {\n    std::array&lt;float, 4&gt; data;\n};\n\n\/\/ SIMD\u64cd\u4f5c\u306b\u9069\u3057\u305f\u914d\u5217\u69cb\u9020\nstruct SimdOptimized {\n    alignas(32) std::array&lt;float, 8&gt; values;\n\n    void processData() {\n        \/\/ AVX\u306a\u3069\u306eSIMD\u547d\u4ee4\u3092\u4f7f\u7528\u3057\u305f\u51e6\u7406\u304c\u53ef\u80fd\n        #pragma omp simd\n        for (size_t i = 0; i &lt; values.size(); ++i) {\n            values[i] *= 2.0f;\n        }\n    }\n};\n\n\/\/ \u30ad\u30e3\u30c3\u30b7\u30e5\u30e9\u30a4\u30f3\u8003\u616e\nstruct CacheOptimized {\n    static constexpr size_t CACHE_LINE = 64;\n    alignas(CACHE_LINE) std::array&lt;int, 16&gt; data;\n};<\/pre>\n\n\n\n<p>\u30e1\u30e2\u30ea\u30a2\u30e9\u30a4\u30e1\u30f3\u30c8\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\uff1a<\/p>\n\n\n<div id=\"id-27904497-5658-4fa1-8736-fb1489e95990\">\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u30a2\u30e9\u30a4\u30e1\u30f3\u30c8\u30b5\u30a4\u30ba<\/th><th>\u7528\u9014<\/th><th>\u6ce8\u610f\u70b9<\/th><\/tr><\/thead><tbody><tr><td>16\u30d0\u30a4\u30c8<\/td><td>SSE\u547d\u4ee4<\/td><td>\u57fa\u672c\u7684\u306aSIMD\u51e6\u7406<\/td><\/tr><tr><td>32\u30d0\u30a4\u30c8<\/td><td>AVX\u547d\u4ee4<\/td><td>\u9ad8\u5ea6\u306a\u30d9\u30af\u30c8\u30eb\u51e6\u7406<\/td><\/tr><tr><td>64\u30d0\u30a4\u30c8<\/td><td>\u30ad\u30e3\u30c3\u30b7\u30e5\u30e9\u30a4\u30f3<\/td><td>\u30ad\u30e3\u30c3\u30b7\u30e5\u52b9\u7387\u306e\u6700\u9069\u5316<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\n\n\n<p>\u52b9\u7387\u7684\u306a\u914d\u5217\u64cd\u4f5c\u306e\u305f\u3081\u306e\u30c1\u30a7\u30c3\u30af\u30ea\u30b9\u30c8\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u5883\u754c\u30c1\u30a7\u30c3\u30af<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>at()\u30e1\u30bd\u30c3\u30c9\u306e\u4f7f\u7528<\/li>\n\n\n\n<li>\u30ab\u30b9\u30bf\u30e0\u7bc4\u56f2\u30c1\u30a7\u30c3\u30af\u306e\u5b9f\u88c5<\/li>\n\n\n\n<li>\u4f8b\u5916\u51e6\u7406\u306e\u9069\u5207\u306a\u5b9f\u88c5<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u30e1\u30e2\u30ea\u7ba1\u7406<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u30b9\u30b3\u30fc\u30d7\u30d9\u30fc\u30b9\u306e\u7ba1\u7406<\/li>\n\n\n\n<li>RAII\u30d1\u30bf\u30fc\u30f3\u306e\u6d3b\u7528<\/li>\n\n\n\n<li>\u30ea\u30bd\u30fc\u30b9\u306e\u9069\u5207\u306a\u89e3\u653e<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6700\u9069\u5316<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u9069\u5207\u306a\u30a2\u30e9\u30a4\u30e1\u30f3\u30c8\u8a2d\u5b9a<\/li>\n\n\n\n<li>\u30ad\u30e3\u30c3\u30b7\u30e5\u52b9\u7387\u306e\u8003\u616e<\/li>\n\n\n\n<li>SIMD\u547d\u4ee4\u306e\u6d3b\u7528<\/li>\n<\/ul>\n\n\n\n<p>\u3053\u308c\u3089\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\u3092\u9069\u5207\u306b\u7d44\u307f\u5408\u308f\u305b\u308b\u3053\u3068\u3067\u3001\u5b89\u5168\u3067\u9ad8\u6027\u80fd\u306a\u914d\u5217\u64cd\u4f5c\u3092\u5b9f\u73fe\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-12\">\u5b9f\u8df5\u7684\u306a\u30b3\u30fc\u30c9\u4f8b\u3068\u5fdc\u7528\u30c6\u30af\u30cb\u30c3\u30af<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-13\">\u591a\u6b21\u5143\u914d\u5217\u306e\u52b9\u7387\u7684\u306a\u5b9f\u88c5\u65b9\u6cd5<\/h3>\n\n\n\n<p>\u591a\u6b21\u5143\u914d\u5217\u3092\u52b9\u7387\u7684\u306b\u5b9f\u88c5\u3059\u308b\u8907\u6570\u306e\u30a2\u30d7\u30ed\u30fc\u30c1\u3092\u7d39\u4ecb\u3057\u307e\u3059\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;array&gt;\n\n\/\/ 1. \u5f93\u6765\u306e\u591a\u6b21\u5143\u914d\u5217\nstd::array&lt;std::array&lt;int, 3&gt;, 3&gt; matrix = {{\n    {1, 2, 3},\n    {4, 5, 6},\n    {7, 8, 9}\n}};\n\n\/\/ 2. 1\u6b21\u5143\u914d\u5217\u3092\u4f7f\u7528\u3057\u305f\u591a\u6b21\u5143\u914d\u5217\u306e\u5b9f\u88c5\ntemplate&lt;typename T, size_t Rows, size_t Cols&gt;\nclass Matrix {\nprivate:\n    std::array&lt;T, Rows * Cols&gt; data;\n\npublic:\n    T&amp; at(size_t row, size_t col) {\n        return data[row * Cols + col];\n    }\n\n    const T&amp; at(size_t row, size_t col) const {\n        return data[row * Cols + col];\n    }\n\n    \/\/ \u30ad\u30e3\u30c3\u30b7\u30e5\u30d5\u30ec\u30f3\u30c9\u30ea\u30fc\u306a\u30a4\u30c6\u30ec\u30fc\u30b7\u30e7\u30f3\n    void process() {\n        for (size_t i = 0; i &lt; data.size(); ++i) {\n            \/\/ \u9023\u7d9a\u3057\u305f\u30e1\u30e2\u30ea\u30a2\u30af\u30bb\u30b9\n            data[i] = someOperation(data[i]);\n        }\n    }\n};<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-14\">STL\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u3068\u306e\u7d44\u307f\u5408\u308f\u305b<\/h3>\n\n\n\n<p>std::array\u306fSTL\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u3068\u5b8c\u5168\u306b\u4e92\u63db\u6027\u304c\u3042\u308a\u3001\u5f37\u529b\u306a\u6a5f\u80fd\u3092\u6d3b\u7528\u3067\u304d\u307e\u3059\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;algorithm&gt;\n#include &lt;numeric&gt;\n\nstd::array&lt;int, 5&gt; arr = {3, 1, 4, 1, 5};\n\n\/\/ 1. \u30bd\u30fc\u30c8\u3068\u691c\u7d22\nstd::sort(arr.begin(), arr.end());  \/\/ \u30bd\u30fc\u30c8\nauto it = std::lower_bound(arr.begin(), arr.end(), 3);  \/\/ \u4e8c\u5206\u63a2\u7d22\n\n\/\/ 2. \u96c6\u8a08\u64cd\u4f5c\nint sum = std::accumulate(arr.begin(), arr.end(), 0);\nauto [min, max] = std::minmax_element(arr.begin(), arr.end());\n\n\/\/ 3. \u8981\u7d20\u306e\u5909\u63db\nstd::array&lt;double, 5&gt; result;\nstd::transform(arr.begin(), arr.end(), result.begin(),\n    [](int x) { return x * 1.5; });\n\n\/\/ 4. \u6761\u4ef6\u4ed8\u304d\u64cd\u4f5c\nint count = std::count_if(arr.begin(), arr.end(),\n    [](int x) { return x % 2 == 0; });  \/\/ \u5076\u6570\u306e\u6570\u3092\u6570\u3048\u308b<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-15\">\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u6d3b\u7528\u3057\u305f\u6c4e\u7528\u7684\u306a\u914d\u5217\u51e6\u7406<\/h3>\n\n\n\n<p>\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u4f7f\u7528\u3057\u3066\u3001\u578b\u3068\u30b5\u30a4\u30ba\u306b\u4f9d\u5b58\u3057\u306a\u3044\u6c4e\u7528\u7684\u306a\u914d\u5217\u51e6\u7406\u3092\u5b9f\u88c5\u3067\u304d\u307e\u3059\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=\"\">\/\/ 1. \u6c4e\u7528\u7684\u306a\u914d\u5217\u30e9\u30c3\u30d1\u30fc\ntemplate&lt;typename T, size_t N&gt;\nclass ArrayWrapper {\n    std::array&lt;T, N&gt; data;\n\npublic:\n    \/\/ \u6f14\u7b97\u5b50\u306e\u30aa\u30fc\u30d0\u30fc\u30ed\u30fc\u30c9\n    template&lt;typename U&gt;\n    ArrayWrapper&lt;T, N&gt; operator+(const ArrayWrapper&lt;U, N&gt;&amp; other) {\n        ArrayWrapper&lt;T, N&gt; result;\n        for (size_t i = 0; i &lt; N; ++i) {\n            result.data[i] = data[i] + other.data[i];\n        }\n        return result;\n    }\n\n    \/\/ STL\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u7528\u306e\u30a4\u30c6\u30ec\u30fc\u30bf\n    auto begin() { return data.begin(); }\n    auto end() { return data.end(); }\n};\n\n\/\/ 2. \u914d\u5217\u51e6\u7406\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3\nnamespace ArrayUtils {\n    template&lt;typename T, size_t N&gt;\n    bool allMatch(const std::array&lt;T, N&gt;&amp; arr, const T&amp; value) {\n        return std::all_of(arr.begin(), arr.end(),\n            [&amp;value](const T&amp; elem) { return elem == value; });\n    }\n\n    template&lt;typename T, size_t N&gt;\n    std::array&lt;T, N&gt; map(const std::array&lt;T, N&gt;&amp; arr,\n                         std::function&lt;T(const T&amp;)&gt; func) {\n        std::array&lt;T, N&gt; result;\n        std::transform(arr.begin(), arr.end(), result.begin(), func);\n        return result;\n    }\n}<\/pre>\n\n\n\n<p>\u5b9f\u8df5\u7684\u306a\u5fdc\u7528\u4f8b\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=\"\">\/\/ \u753b\u50cf\u51e6\u7406\u3067\u306e\u4f7f\u7528\u4f8b\nstruct Pixel {\n    uint8_t r, g, b;\n};\n\nusing ImageRow = std::array&lt;Pixel, 1920&gt;;  \/\/ HD\u5e45\nusing ImageBuffer = std::array&lt;ImageRow, 1080&gt;;  \/\/ HD\u9ad8\u3055\n\n\/\/ \u753b\u50cf\u51e6\u7406\u30d5\u30a3\u30eb\u30bf\nvoid applyFilter(ImageBuffer&amp; image) {\n    for (size_t y = 1; y &lt; image.size() - 1; ++y) {\n        for (size_t x = 1; x &lt; image[y].size() - 1; ++x) {\n            \/\/ 3x3\u306e\u7573\u307f\u8fbc\u307f\u30d5\u30a3\u30eb\u30bf\n            \/\/ \u5b9f\u88c5\u7565\n        }\n    }\n}\n\n\/\/ \u4fe1\u53f7\u51e6\u7406\u3067\u306e\u4f7f\u7528\u4f8b\nusing SignalBuffer = std::array&lt;float, 1024&gt;;\n\nvoid processSignal(const SignalBuffer&amp; input, SignalBuffer&amp; output) {\n    \/\/ \u79fb\u52d5\u5e73\u5747\u30d5\u30a3\u30eb\u30bf\n    const size_t windowSize = 5;\n    for (size_t i = windowSize\/2; i &lt; input.size() - windowSize\/2; ++i) {\n        float sum = 0.0f;\n        for (size_t j = 0; j &lt; windowSize; ++j) {\n            sum += input[i - windowSize\/2 + j];\n        }\n        output[i] = sum \/ windowSize;\n    }\n}<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-16\">\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6700\u9069\u5316\u3068\u30c7\u30d0\u30c3\u30b0<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-17\">\u30ad\u30e3\u30c3\u30b7\u30e5\u30d5\u30ec\u30f3\u30c9\u30ea\u30fc\u306a\u914d\u5217\u30a2\u30af\u30bb\u30b9<\/h3>\n\n\n\n<p>\u914d\u5217\u64cd\u4f5c\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u6700\u5927\u5316\u3059\u308b\u305f\u3081\u306e\u30ad\u30e3\u30c3\u30b7\u30e5\u6700\u9069\u5316\u30c6\u30af\u30cb\u30c3\u30af\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;array&gt;\n#include &lt;chrono&gt;\n\n\/\/ \u30ad\u30e3\u30c3\u30b7\u30e5\u52b9\u7387\u306e\u6bd4\u8f03\u5b9f\u9a13\nvoid cacheEfficiencyDemo() {\n    constexpr size_t rows = 1024;\n    constexpr size_t cols = 1024;\n    std::array&lt;std::array&lt;int, cols&gt;, rows&gt; matrix;\n\n    \/\/ 1. \u884c\u512a\u5148\u30a2\u30af\u30bb\u30b9\uff08\u30ad\u30e3\u30c3\u30b7\u30e5\u30d5\u30ec\u30f3\u30c9\u30ea\u30fc\uff09\n    auto start = std::chrono::high_resolution_clock::now();\n    for (size_t i = 0; i &lt; rows; ++i) {\n        for (size_t j = 0; j &lt; cols; ++j) {\n            matrix[i][j] = i + j;  \/\/ \u9023\u7d9a\u3057\u305f\u30e1\u30e2\u30ea\u30a2\u30af\u30bb\u30b9\n        }\n    }\n    auto end = std::chrono::high_resolution_clock::now();\n    auto duration1 = std::chrono::duration_cast&lt;std::chrono::milliseconds&gt;(end - start);\n\n    \/\/ 2. \u5217\u512a\u5148\u30a2\u30af\u30bb\u30b9\uff08\u30ad\u30e3\u30c3\u30b7\u30e5\u975e\u52b9\u7387\uff09\n    start = std::chrono::high_resolution_clock::now();\n    for (size_t j = 0; j &lt; cols; ++j) {\n        for (size_t i = 0; i &lt; rows; ++i) {\n            matrix[i][j] = i + j;  \/\/ \u4e0d\u9023\u7d9a\u306a\u30e1\u30e2\u30ea\u30a2\u30af\u30bb\u30b9\n        }\n    }\n    end = std::chrono::high_resolution_clock::now();\n    auto duration2 = std::chrono::duration_cast&lt;std::chrono::milliseconds&gt;(end - start);\n\n    std::cout &lt;&lt; \"Row-major access: \" &lt;&lt; duration1.count() &lt;&lt; \"ms\\n\";\n    std::cout &lt;&lt; \"Column-major access: \" &lt;&lt; duration2.count() &lt;&lt; \"ms\\n\";\n}<\/pre>\n\n\n\n<p>\u30ad\u30e3\u30c3\u30b7\u30e5\u6700\u9069\u5316\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\uff1a<\/p>\n\n\n<div id=\"id-f348a4d7-ea56-4006-9eac-844e23eefff0\">\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>\u5b9f\u88c5\u65b9\u6cd5<\/th><\/tr><\/thead><tbody><tr><td>\u30c7\u30fc\u30bf\u306e\u9023\u7d9a\u30a2\u30af\u30bb\u30b9<\/td><td>\u30ad\u30e3\u30c3\u30b7\u30e5\u30d2\u30c3\u30c8\u7387\u5411\u4e0a<\/td><td>\u884c\u512a\u5148\u30a2\u30af\u30bb\u30b9<\/td><\/tr><tr><td>\u30d7\u30ea\u30d5\u30a7\u30c3\u30c1\u6d3b\u7528<\/td><td>\u30e1\u30e2\u30ea\u30ec\u30a4\u30c6\u30f3\u30b7\u524a\u6e1b<\/td><td>\u30d7\u30ea\u30d5\u30a7\u30c3\u30c1\u547d\u4ee4\u4f7f\u7528<\/td><\/tr><tr><td>\u30a2\u30e9\u30a4\u30e1\u30f3\u30c8\u8abf\u6574<\/td><td>\u30e1\u30e2\u30ea\u30a2\u30af\u30bb\u30b9\u52b9\u7387\u5316<\/td><td>alignas\u6307\u5b9a<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\" id=\"i-18\">\u4e00\u822c\u7684\u306a\u30d0\u30b0\u306e\u767a\u898b\u3068\u4fee\u6b63\u65b9\u6cd5<\/h3>\n\n\n\n<p>\u914d\u5217\u64cd\u4f5c\u3067\u767a\u751f\u3057\u3084\u3059\u3044\u30d0\u30b0\u3068\u305d\u306e\u5bfe\u7b56\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=\"\">\/\/ 1. \u30d0\u30b0\u691c\u51fa\u7528\u306e\u30e9\u30c3\u30d1\u30fc\u30af\u30e9\u30b9\ntemplate&lt;typename T, size_t N&gt;\nclass DebugArray {\n    std::array&lt;T, N&gt; data;\n    mutable std::vector&lt;bool&gt; accessMap;\n\npublic:\n    DebugArray() : accessMap(N, false) {}\n\n    \/\/ \u30a2\u30af\u30bb\u30b9\u8ffd\u8de1\u4ed8\u304d\u306e\u8981\u7d20\u53c2\u7167\n    T&amp; operator[](size_t i) {\n        if (i &gt;= N) throw std::out_of_range(\"Index out of bounds\");\n        accessMap[i] = true;\n        return data[i];\n    }\n\n    \/\/ \u672a\u521d\u671f\u5316\u8981\u7d20\u306e\u691c\u51fa\n    void checkUninitialized() const {\n        for (size_t i = 0; i &lt; N; ++i) {\n            if (!accessMap[i]) {\n                std::cerr &lt;&lt; \"Warning: Element \" &lt;&lt; i &lt;&lt; \" never accessed\\n\";\n            }\n        }\n    }\n};\n\n\/\/ 2. \u5883\u754c\u30c1\u30a7\u30c3\u30af\u7528\u306e\u30c7\u30d0\u30c3\u30b0\u30de\u30af\u30ed\n#ifdef DEBUG\n#define ARRAY_ACCESS(arr, i) \\\n    ((i) &lt; arr.size() ? arr[i] : \\\n    (throw std::out_of_range(\"Array index out of bounds\"), arr[0]))\n#else\n#define ARRAY_ACCESS(arr, i) arr[i]\n#endif<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-19\">\u30d7\u30ed\u30d5\u30a1\u30a4\u30ea\u30f3\u30b0\u306b\u3088\u308b\u6027\u80fd\u6539\u5584<\/h3>\n\n\n\n<p>\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u8a08\u6e2c\u3068\u6700\u9069\u5316\u306e\u624b\u6cd5\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;chrono&gt;\n\n\/\/ 1. \u7c21\u6613\u30d7\u30ed\u30d5\u30a1\u30a4\u30e9\u30fc\nclass ScopedTimer {\n    std::chrono::high_resolution_clock::time_point start;\n    const char* name;\n\npublic:\n    ScopedTimer(const char* n) : start(std::chrono::high_resolution_clock::now()), name(n) {}\n\n    ~ScopedTimer() {\n        auto end = std::chrono::high_resolution_clock::now();\n        auto duration = std::chrono::duration_cast&lt;std::chrono::microseconds&gt;(end - start);\n        std::cout &lt;&lt; name &lt;&lt; \": \" &lt;&lt; duration.count() &lt;&lt; \"us\\n\";\n    }\n};\n\n\/\/ \u4f7f\u7528\u4f8b\nvoid performanceTest() {\n    std::array&lt;int, 10000&gt; arr;\n\n    {\n        ScopedTimer timer(\"Fill\");\n        std::fill(arr.begin(), arr.end(), 42);\n    }\n\n    {\n        ScopedTimer timer(\"Transform\");\n        std::transform(arr.begin(), arr.end(), arr.begin(),\n            [](int x) { return x * 2; });\n    }\n}\n\n\/\/ 2. SIMD\u6700\u9069\u5316\u306e\u4f8b\n#include &lt;immintrin.h&gt;\n\nvoid optimizedProcessing(std::array&lt;float, 1024&gt;&amp; arr) {\n    \/\/ AVX2\u3092\u4f7f\u7528\u3057\u305f8\u8981\u7d20\u540c\u6642\u51e6\u7406\n    for (size_t i = 0; i &lt; arr.size(); i += 8) {\n        __m256 vec = _mm256_load_ps(&amp;arr[i]);\n        vec = _mm256_mul_ps(vec, _mm256_set1_ps(2.0f));\n        _mm256_store_ps(&amp;arr[i], vec);\n    }\n}<\/pre>\n\n\n\n<p>\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6700\u9069\u5316\u30c1\u30a7\u30c3\u30af\u30ea\u30b9\u30c8\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u30e1\u30e2\u30ea\u30a2\u30af\u30bb\u30b9\u30d1\u30bf\u30fc\u30f3<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u30ad\u30e3\u30c3\u30b7\u30e5\u30e9\u30a4\u30f3\u306e\u8003\u616e<\/li>\n\n\n\n<li>\u30c7\u30fc\u30bf\u306e\u5c40\u6240\u6027\u306e\u6d3b\u7528<\/li>\n\n\n\n<li>\u30e1\u30e2\u30ea\u30a2\u30e9\u30a4\u30e1\u30f3\u30c8\u306e\u6700\u9069\u5316<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u306e\u6700\u9069\u5316<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u9069\u5207\u306aSTL\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u306e\u9078\u629e<\/li>\n\n\n\n<li>SIMD\u547d\u4ee4\u306e\u6d3b\u7528<\/li>\n\n\n\n<li>\u30eb\u30fc\u30d7\u306e\u6700\u9069\u5316<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u30d7\u30ed\u30d5\u30a1\u30a4\u30ea\u30f3\u30b0<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u30db\u30c3\u30c8\u30b9\u30dd\u30c3\u30c8\u306e\u7279\u5b9a<\/li>\n\n\n\n<li>\u30ad\u30e3\u30c3\u30b7\u30e5\u30df\u30b9\u306e\u5206\u6790<\/li>\n\n\n\n<li>\u30e1\u30e2\u30ea\u4f7f\u7528\u91cf\u306e\u76e3\u8996<\/li>\n<\/ul>\n\n\n\n<p>\u3053\u306e\u6700\u9069\u5316\u3068\u30c7\u30d0\u30c3\u30b0\u306e\u77e5\u8b58\u3092\u9069\u5207\u306b\u6d3b\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u9ad8\u6027\u80fd\u3067\u4fe1\u983c\u6027\u306e\u9ad8\u3044\u914d\u5217\u51e6\u7406\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-1769","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\/1769","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=1769"}],"version-history":[{"count":1,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/posts\/1769\/revisions"}],"predecessor-version":[{"id":1770,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/posts\/1769\/revisions\/1770"}],"wp:attachment":[{"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1769"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1769"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1769"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}