{"id":1892,"date":"2020-10-04T20:24:37","date_gmt":"2020-10-04T20:24:37","guid":{"rendered":"https:\/\/www.yazilimperver.com\/?p=1892"},"modified":"2021-02-07T16:56:36","modified_gmt":"2021-02-07T16:56:36","slug":"haftalik-c-31-stdarray","status":"publish","type":"post","link":"https:\/\/www.yazilimperver.com\/index.php\/2020\/10\/04\/haftalik-c-31-stdarray\/","title":{"rendered":"Haftal\u0131k C++ 31 &#8211; std::array"},"content":{"rendered":"<p>Evet dostlar, C++ kabiliyetlerinden kalan bir iki tanesine bakmaya devam ediyoruz. Bu yaz\u0131mda, h\u0131zl\u0131ca ve k\u0131saca bu kabiliyete bak\u0131p, kalan di\u011fer C++ 11 kabiliyetlerine bakmaya devam edece\u011fiz. Bildi\u011finiz \u00fczere bir ka\u00e7 hafta \u00f6nce C++ 20 standard\u0131 da kabul edildi. Yani daha, \u00f6\u011frenecek \u00e7ok konu var.<\/p>\n<h2><span style=\"color: #0000ff;\"><strong>std::array<\/strong><\/span><\/h2>\n<p><em>std::array<\/em>&#8216;i k\u0131saca, C dizilerini herhangi bir ekstra masraf getirmeden C++ konteynerleri gibi kullanman\u0131za olanak sa\u011flayan s\u0131n\u0131ft\u0131r. Bir di\u011fer ifade ile bu s\u0131n\u0131f\u0131 kullanman\u0131z ile geleneksel dizileri kullanman\u0131z aras\u0131nda performans anlam\u0131nda hi\u00e7 bir fark bulunmamaktad\u0131r. Asl\u0131na bakarsan\u0131z, ger\u00e7ekleme anlam\u0131nda da a\u015fa\u011f\u0131dakine \u00e7ok benzer bir \u015fekilde &#8220;wrap&#8221; edilerek tan\u0131mlanabilir:<\/p>\n<pre class=\"lang:c++ decode:true \">template&lt;typename T, size_t N&gt;\r\nclass array\r\n{\r\npublic:\r\n      \/\/ Veri\r\n      T _data[N];\r\n\r\n      \/\/ Indeks operatoru (l-value)\r\n      T&amp; operator[](size_t);\r\n\r\n      \/\/ Indek operatoru (r-value)\r\n      const T&amp; operator[](size_t) const;\r\n      ...\r\n};<\/pre>\n<p><em>std::array<\/em>&#8216;i kullanabilmek i\u00e7in <strong>&lt;array&gt;<\/strong> ba\u015fl\u0131k dosyas\u0131n\u0131 eklemeniz yeterli. <em>std::array<\/em> ile deklerasyon yaparken, ilgili dizinin i\u00e7eri\u011finin tipini ve boyutunu vermelisiniz. Bu boyut daha sonra de\u011fi\u015ftirilememekte.<\/p>\n<p>Kullan\u0131m\u0131 normal dizilere benzese de, a\u015fa\u011f\u0131daki g\u00fczellikleri de kullanman\u0131za olanak sa\u011flar \ud83d\ude09<\/p>\n<p>En \u00f6nemli \u00f6zelliklerden birisi, fonksiyonlara parametre olarak, kopyalanarak ge\u00e7irilebilir ve d\u00f6n\u00fclebilir. Normal dizilerde varsay\u0131lan olarak i\u015faret\u00e7i olarak ge\u00e7irilerek, d\u00f6n\u00fclmekteydi. Yani fonksiyon i\u00e7erisinde yap\u0131lan de\u011fi\u015fikliklerden diziler etkilenmektedir. Hemen bir \u00f6rnek ile bakal\u0131m:<\/p>\n<pre class=\"lang:c++ decode:true\">#include &lt;iostream&gt;\r\n#include &lt;cstdint&gt;\r\n#include &lt;array&gt;\r\n#include &lt;memory&gt;\r\nusing namespace std;\r\n\r\nvoid passingArrays(int32_t intTraditionalArray[5], array&lt;int32_t, 5&gt; intNewArray)\r\n{\r\n    for (int32_t i = 0; i &lt; 5; ++i) \r\n    {\r\n        intTraditionalArray[i] = i;\r\n        intNewArray[i] = i;\r\n    }\r\n}\r\n\r\nint main()\r\n{\r\n    int32_t traditionalArray[5] = {};\r\n    array&lt;int32_t, 5&gt;newArrayA = {};\r\n    \r\n    \/\/ Ornek fonksiyona gecirilme\r\n    \/\/ Burada std::array `pass by value` olarak gecirilmekte\r\n    \/\/ Geleneksel diziler `pass by reference` olarak gecirilmekte\r\n    passingArrays(traditionalArray, newArrayA);\r\n    \r\n    cout &lt;&lt; \"Geleneksel Dizi Icerigi: \";\r\n    \r\n    for (int32_t i = 0; i &lt; 5; ++i){\r\n        cout &lt;&lt; traditionalArray[i] &lt;&lt; \" \";\r\n    }\r\n    \r\n    cout &lt;&lt; \"\\nYeni Dizi Icerigi: \";\r\n    \r\n    for (int32_t i = 0; i &lt; 5; ++i){\r\n        cout &lt;&lt; newArrayA[i] &lt;&lt; \" \";\r\n    }\r\n\r\n    return 0;\r\n}<\/pre>\n<p>Sunulan API&#8217;ler, STL taraf\u0131ndan sunulan di\u011fer API&#8217;ler ile daha uyumlu ve konteynerlere benzemektedir. (Burada, \u015funu da eklemekte fayda var, art\u0131k geleneksel diziler de bir tak\u0131m STL kabiliyetleri ile kullan\u0131labilmektedir). Bu ba\u011flamda array&#8217;ler ile iterator kullan\u0131labilmektedir:<\/p>\n<pre class=\"lang:c++ decode:true\">#include &lt;iostream&gt;\r\n#include &lt;array&gt;\r\nusing namespace std;\r\n\r\nint main() \r\n{\r\n    array&lt;int32_t, 5&gt; intArray{{1,2,3,4,5}};\r\n\r\n    cout &lt;&lt; \"Dizideki elemanlar: \\n\";\r\n    \r\n    for(auto elem: intArray){\r\n        cout &lt;&lt; elem &lt;&lt; \" \";\r\n    }\r\n    cout &lt;&lt; \"\\n\";\r\n\r\n   \t\/\/ Iterator kullanarak dolasalim\r\n   \tauto itr = aInt.begin();\r\n\r\n   \twhile(itr != aInt.end())\r\n   \t{\r\n   \t\tcout &lt;&lt; *itr &lt;&lt; \" \";\r\n   \t\titr++;\r\n   \t};\r\n\r\n\tcout &lt;&lt; \"\\n\";\r\n\r\n    return 0;\r\n}<\/pre>\n<p>&nbsp;<\/p>\n<p>\u00c7ok boyutlu dizileri, a\u015fa\u011f\u0131daki \u00f6rnektekine benzer \u015fekilde olu\u015fturabilirsiniz:<\/p>\n<pre class=\"lang:c++ decode:true\">#include &lt;iostream&gt;\r\n#include &lt;array&gt;\r\nusing namespace std;\r\n\r\nint main() \r\n{\r\n\t\/\/ 3x3 lik matrix\r\n    array&lt;array&lt;int32_t, 3&gt;, 3&gt; int2DArray{{\r\n        {1, 2, 3},\r\n        {4, 5, 6},\r\n        {7, 8, 9}\r\n    }};\r\n\r\n    cout &lt;&lt; \"Dizideki elemanlar: \\n\";\r\n    \r\n    for(auto&amp; row: int2DArray)\r\n    {\r\n        for(auto element: row)\r\n        {\r\n            cout &lt;&lt; element &lt;&lt; \" \";\r\n        }\r\n        cout &lt;&lt; \"\\n\";\r\n    }\r\n\r\n    return 0;\r\n}<\/pre>\n<p>Yukar\u0131daki tan\u0131mlama uzun derseniz, yine daha \u00f6nce i\u015fledi\u011fimiz &#8220;using&#8221; ile &#8220;type alias&#8221; yaparak daha k\u0131salt\u0131p genelle\u015ftirebiliriz:<\/p>\n<pre class=\"lang:c++ decode:true\">#include &lt;iostream&gt;\r\n#include &lt;array&gt;\r\nusing namespace std;\r\n\r\n\/\/ Yukaridaki tanimlama uzun derseniz asagidaki gibi bir kullanim da mumkun ;)\r\ntemplate&lt;typename type, int32_t size&gt;\r\nusing Matrix = array&lt;array&lt;type, size&gt;, size&gt;;\r\n\r\n\r\nint main() \r\n{\r\n    Matrix&lt;int32_t, 3&gt;  intMatrix{{\r\n        {1, 2, 3},\r\n        {4, 5, 6},\r\n        {7, 8, 9}\r\n    }};\r\n        \r\n    cout &lt;&lt; \"Dizideki elemanlar: \\n\";\r\n    \r\n    for(auto&amp; row: intMatrix) {\r\n        for(auto element: row) {\r\n            cout &lt;&lt; element &lt;&lt; \" \";\r\n        }\r\n        cout &lt;&lt; \"\\n\";\r\n    }\r\n\r\n    return 0;\r\n}<\/pre>\n<p>Geleneksel dizilerdeki gibi [] operat\u00f6r\u00fc kullan\u0131labilece\u011fi gibi, <em>at<\/em>(), <em>front<\/em>(), <em>back<\/em>() gibi API&#8217;ler de sunulmaktad\u0131r. Boyut bilgisini, <em>size<\/em>() fonksiyonu ile sorgulayabilirsiniz. Benzer \u015fekilde, ilgili dizinin bo\u015f olup\/olmad\u0131\u011f\u0131 da empty() API&#8217;si de kullan\u0131labilir. Yukar\u0131daki \u00f6rneklerde kullan\u0131lan <em>initializer_list<\/em> deste\u011fi.<\/p>\n<p>\u0130\u015faret\u00e7ilere otomatik ya da &#8220;implicit&#8221; olarak <span style=\"text-decoration: underline;\"><strong>d\u00f6n\u00fc\u015ft\u00fcr\u00fclmemekte<\/strong><\/span>. Bunu asl\u0131nda bir \u00f6nlem olarak da d\u00fc\u015f\u00fcnmekte fayda var. Normal diziler, yukar\u0131da da bahsedildi\u011fi \u00fczere, i\u015faret\u00e7i olarak ge\u00e7irilmektedir. Peki, <em>std::array<\/em> i\u00e7eri\u011fine bu \u015fekilde ula\u015fmak istedi\u011finiz durumda ne kullanacaks\u0131n\u0131z. Bu ama\u00e7la <em>data()<\/em> API&#8217;si sunulmakta, bu sayede i\u015faret\u00e7iler kullan\u0131larak i\u00e7eri\u011fe ula\u015f\u0131labilir ve g\u00fcncellenebilir. Yine yukar\u0131daki \u00f6rneklere benzer bir \u00f6rnek ile bu API&#8217;ye g\u00f6z atal\u0131m:<\/p>\n<pre class=\"lang:c++ decode:true \">#include &lt;iostream&gt;\r\n#include &lt;array&gt;\r\n#include &lt;cstring&gt; \/\/ memset icin\r\nusing namespace std;\r\n\r\nvoid printArray(const array&lt;int32_t, 5&gt;&amp; input)\r\n{\r\n    cout &lt;&lt; \"Dizi icerigi: \\n\";\r\n    \r\n    for(auto elem: input){\r\n        cout &lt;&lt; elem &lt;&lt; \" \";\r\n    }\r\n    cout &lt;&lt; \"\\n\";\r\n    \r\n}\r\n\r\nint main() \r\n{\r\n    array&lt;int32_t, 5&gt; intArray{{1,2,3,4,5}};\r\n\r\n    \/\/ Ilk icerik\r\n    printArray(intArray);\r\n    \r\n    \/\/ Simdi butun diziyi sifirlayalim\r\n    memset(intArray.data(), 0, sizeof(int32_t) * 5);\r\n    printArray(intArray);\r\n    \r\n    \/\/ Dolduralim\r\n    intArray.fill(5);\r\n    printArray(intArray);\r\n    \r\n    \/\/ Simdi isaretci marifeti ile dolduralim\r\n    int32_t* intPtr(intArray.data());\r\n    \r\n    for(int32_t i = 0; i &lt; 5; ++i){\r\n        intPtr[i] = i;\r\n    }\r\n    printArray(intArray);\r\n\r\n    return 0;\r\n}<\/pre>\n<p>Bu noktada akl\u0131n\u0131za geleneksel diziler, std::array ve std::vector&#8217;leri hangi durumlarda kullanmal\u0131y\u0131m diye bir sour gelebilir. \u00d6ncelikli olarak, e\u011fer derleme zaman\u0131nda, kullanaca\u011f\u0131n\u0131z dizinin boyutu belli ise ve boyutunun de\u011fi\u015fmesi \u00f6ng\u00f6r\u00fclm\u00fcyorsa, std::array do\u011fru bir se\u00e7im olacakt\u0131r. Aksi durumda, yine ihtiya\u00e7 duyulan isterlere g\u00f6re std::vector daha uygun olabilir. M\u00fcmk\u00fcn oldu\u011funca geleneksel diziler yerine std::array tercih edilebilir.<\/p>\n<p>Evet yaz\u0131l\u0131mperver dostlar, uzun bir aradan sonra bir C++ yaz\u0131m\u0131z\u0131 daha tamamlad\u0131k, bir sonraki yaz\u0131ma kadar kendinize \u00e7ok iyi davran\u0131n ve sa\u011fl\u0131kla kal\u0131n.<\/p>\n<h2><strong><span style=\"color: #0000ff;\">Kaynaklar:<\/span><\/strong><\/h2>\n<ul>\n<li><a href=\"https:\/\/en.cppreference.com\/w\/cpp\/container\/array\"><span style=\"color: #008000;\"><strong>https:\/\/en.cppreference.com\/w\/cpp\/container\/array<\/strong><\/span><\/a><\/li>\n<li><a href=\"https:\/\/www.learncpp.com\/cpp-tutorial\/6-15-an-introduction-to-stdarray\/\"><span style=\"color: #008000;\"><strong>https:\/\/www.learncpp.com\/cpp-tutorial\/6-15-an-introduction-to-stdarray\/<\/strong><\/span><\/a><\/li>\n<li><a href=\"https:\/\/www.bogotobogo.com\/cplusplus\/C11\/C11_std_array_container_class.php\"><span style=\"color: #008000;\"><strong>https:\/\/www.bogotobogo.com\/cplusplus\/C11\/C11_std_array_container_class.php<\/strong><\/span><\/a><\/li>\n<\/ul>\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>Evet dostlar, C++ kabiliyetlerinden kalan bir iki tanesine bakmaya devam ediyoruz. Bu yaz\u0131mda, h\u0131zl\u0131ca ve k\u0131saca bu kabiliyete bak\u0131p, kalan di\u011fer C++ 11 kabiliyetlerine bakmaya devam edece\u011fiz. Bildi\u011finiz \u00fczere bir ka\u00e7 hafta \u00f6nce C++ 20 standard\u0131 da kabul edildi. Yani daha, \u00f6\u011frenecek \u00e7ok konu var. std::array std::array&#8216;i k\u0131saca, C dizilerini herhangi bir ekstra masraf getirmeden&#8230; <a class=\"more-link\" href=\"https:\/\/www.yazilimperver.com\/index.php\/2020\/10\/04\/haftalik-c-31-stdarray\/\">Continue reading <span class=\"meta-nav\">&#8594;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":174,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[10,41],"tags":[781,46,784,785,782,783,48],"class_list":["post-1892","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-c","category-modern-c","tag-array","tag-c-11","tag-container","tag-fized-size-array","tag-stdaray","tag-stdvector","tag-stl"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Haftal\u0131k C++ 31 - std::array - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.yazilimperver.com\/index.php\/2020\/10\/04\/haftalik-c-31-stdarray\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[:tr]Haftal\u0131k C++ 31 - std::array[:] - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\" \/>\n<meta property=\"og:description\" content=\"Evet dostlar, C++ kabiliyetlerinden kalan bir iki tanesine bakmaya devam ediyoruz. Bu yaz\u0131mda, h\u0131zl\u0131ca ve k\u0131saca bu kabiliyete bak\u0131p, kalan di\u011fer C++ 11 kabiliyetlerine bakmaya devam edece\u011fiz. Bildi\u011finiz \u00fczere bir ka\u00e7 hafta \u00f6nce C++ 20 standard\u0131 da kabul edildi. Yani daha, \u00f6\u011frenecek \u00e7ok konu var. std::array std::array&#8216;i k\u0131saca, C dizilerini herhangi bir ekstra masraf getirmeden... Continue reading &#8594;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.yazilimperver.com\/index.php\/2020\/10\/04\/haftalik-c-31-stdarray\/\" \/>\n<meta property=\"og:site_name\" content=\"Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2020-10-04T20:24:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-02-07T16:56:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2017\/12\/FeaturedImage-e1580417052514.png\" \/>\n\t<meta property=\"og:image:width\" content=\"32\" \/>\n\t<meta property=\"og:image:height\" content=\"32\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"yaz\u0131l\u0131mperver\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"yaz\u0131l\u0131mperver\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2020\/10\/04\/haftalik-c-31-stdarray\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2020\/10\/04\/haftalik-c-31-stdarray\/\"},\"author\":{\"name\":\"yaz\u0131l\u0131mperver\",\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb\"},\"headline\":\"Haftal\u0131k C++ 31 &#8211; std::array\",\"datePublished\":\"2020-10-04T20:24:37+00:00\",\"dateModified\":\"2021-02-07T16:56:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2020\/10\/04\/haftalik-c-31-stdarray\/\"},\"wordCount\":578,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb\"},\"keywords\":[\"array\",\"C++ 11\",\"container\",\"fized size array\",\"std::aray\",\"std::vector\",\"STL\"],\"articleSection\":[\"C++\",\"Modern C++\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.yazilimperver.com\/index.php\/2020\/10\/04\/haftalik-c-31-stdarray\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2020\/10\/04\/haftalik-c-31-stdarray\/\",\"url\":\"https:\/\/www.yazilimperver.com\/index.php\/2020\/10\/04\/haftalik-c-31-stdarray\/\",\"name\":\"[:tr]Haftal\u0131k C++ 31 - std::array[:] - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/www.yazilimperver.com\/#website\"},\"datePublished\":\"2020-10-04T20:24:37+00:00\",\"dateModified\":\"2021-02-07T16:56:36+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2020\/10\/04\/haftalik-c-31-stdarray\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.yazilimperver.com\/index.php\/2020\/10\/04\/haftalik-c-31-stdarray\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2020\/10\/04\/haftalik-c-31-stdarray\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Ana sayfa\",\"item\":\"https:\/\/www.yazilimperver.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Haftal\u0131k C++ 31 &#8211; std::array\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.yazilimperver.com\/#website\",\"url\":\"https:\/\/www.yazilimperver.com\/\",\"name\":\"Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\",\"description\":\"Payla\u015fmak g\u00fczeldir.\",\"publisher\":{\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.yazilimperver.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb\",\"name\":\"yaz\u0131l\u0131mperver\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/04\/OnlyIcon-1-114x114.png\",\"contentUrl\":\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/04\/OnlyIcon-1-114x114.png\",\"caption\":\"yaz\u0131l\u0131mperver\"},\"logo\":{\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[:tr]Haftal\u0131k C++ 31 - std::array[:] - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.yazilimperver.com\/index.php\/2020\/10\/04\/haftalik-c-31-stdarray\/","og_locale":"tr_TR","og_type":"article","og_title":"[:tr]Haftal\u0131k C++ 31 - std::array[:] - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","og_description":"Evet dostlar, C++ kabiliyetlerinden kalan bir iki tanesine bakmaya devam ediyoruz. Bu yaz\u0131mda, h\u0131zl\u0131ca ve k\u0131saca bu kabiliyete bak\u0131p, kalan di\u011fer C++ 11 kabiliyetlerine bakmaya devam edece\u011fiz. Bildi\u011finiz \u00fczere bir ka\u00e7 hafta \u00f6nce C++ 20 standard\u0131 da kabul edildi. Yani daha, \u00f6\u011frenecek \u00e7ok konu var. std::array std::array&#8216;i k\u0131saca, C dizilerini herhangi bir ekstra masraf getirmeden... Continue reading &#8594;","og_url":"https:\/\/www.yazilimperver.com\/index.php\/2020\/10\/04\/haftalik-c-31-stdarray\/","og_site_name":"Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","article_published_time":"2020-10-04T20:24:37+00:00","article_modified_time":"2021-02-07T16:56:36+00:00","og_image":[{"width":32,"height":32,"url":"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2017\/12\/FeaturedImage-e1580417052514.png","type":"image\/png"}],"author":"yaz\u0131l\u0131mperver","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"yaz\u0131l\u0131mperver","Tahmini okuma s\u00fcresi":"5 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.yazilimperver.com\/index.php\/2020\/10\/04\/haftalik-c-31-stdarray\/#article","isPartOf":{"@id":"https:\/\/www.yazilimperver.com\/index.php\/2020\/10\/04\/haftalik-c-31-stdarray\/"},"author":{"name":"yaz\u0131l\u0131mperver","@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb"},"headline":"Haftal\u0131k C++ 31 &#8211; std::array","datePublished":"2020-10-04T20:24:37+00:00","dateModified":"2021-02-07T16:56:36+00:00","mainEntityOfPage":{"@id":"https:\/\/www.yazilimperver.com\/index.php\/2020\/10\/04\/haftalik-c-31-stdarray\/"},"wordCount":578,"commentCount":0,"publisher":{"@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb"},"keywords":["array","C++ 11","container","fized size array","std::aray","std::vector","STL"],"articleSection":["C++","Modern C++"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.yazilimperver.com\/index.php\/2020\/10\/04\/haftalik-c-31-stdarray\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.yazilimperver.com\/index.php\/2020\/10\/04\/haftalik-c-31-stdarray\/","url":"https:\/\/www.yazilimperver.com\/index.php\/2020\/10\/04\/haftalik-c-31-stdarray\/","name":"[:tr]Haftal\u0131k C++ 31 - std::array[:] - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/www.yazilimperver.com\/#website"},"datePublished":"2020-10-04T20:24:37+00:00","dateModified":"2021-02-07T16:56:36+00:00","breadcrumb":{"@id":"https:\/\/www.yazilimperver.com\/index.php\/2020\/10\/04\/haftalik-c-31-stdarray\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.yazilimperver.com\/index.php\/2020\/10\/04\/haftalik-c-31-stdarray\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.yazilimperver.com\/index.php\/2020\/10\/04\/haftalik-c-31-stdarray\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Ana sayfa","item":"https:\/\/www.yazilimperver.com\/"},{"@type":"ListItem","position":2,"name":"Haftal\u0131k C++ 31 &#8211; std::array"}]},{"@type":"WebSite","@id":"https:\/\/www.yazilimperver.com\/#website","url":"https:\/\/www.yazilimperver.com\/","name":"Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","description":"Payla\u015fmak g\u00fczeldir.","publisher":{"@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.yazilimperver.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb","name":"yaz\u0131l\u0131mperver","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/image\/","url":"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/04\/OnlyIcon-1-114x114.png","contentUrl":"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/04\/OnlyIcon-1-114x114.png","caption":"yaz\u0131l\u0131mperver"},"logo":{"@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/posts\/1892","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/comments?post=1892"}],"version-history":[{"count":5,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/posts\/1892\/revisions"}],"predecessor-version":[{"id":2092,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/posts\/1892\/revisions\/2092"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/media\/174"}],"wp:attachment":[{"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/media?parent=1892"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/categories?post=1892"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/tags?post=1892"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}