{"id":1054,"date":"2019-03-12T18:45:17","date_gmt":"2019-03-12T18:45:17","guid":{"rendered":"http:\/\/www.yazilimperver.com\/?p=1054"},"modified":"2019-03-12T19:08:46","modified_gmt":"2019-03-12T19:08:46","slug":"haftalik-c-11-stdinitializer_listin-parametre-olarak-kullanimi","status":"publish","type":"post","link":"https:\/\/www.yazilimperver.com\/index.php\/2019\/03\/12\/haftalik-c-11-stdinitializer_listin-parametre-olarak-kullanimi\/","title":{"rendered":"Haftal\u0131k C++ 11- std::initializer_list&#8217;in parametre olarak kullan\u0131m\u0131"},"content":{"rendered":"<p>Hello everybody, we are looking at another snippet this week. In this article, I will provide you a sample code that illustrate passing <em>std::initializer_list\u00a0 <\/em>as\u00a0parameter. I already mentioned <em>std::initializer_list\u00a0<\/em>in my modern C ++ article. If you don&#8217;t have any idea about this feature, I strongly recommend that you take a look at my article below.<\/p>\n<p><a href=\"http:\/\/www.yazilimperver.com\/index.php\/2018\/01\/28\/modern-c-3-uniform-initialization-overridefinal-defaultdelete-constexpr-vb\/\"><span style=\"color: #008000;\"><strong>Modern C++ (3): Uniform Initialization, override\/final, default\/delete, constexpr, vb.<\/strong><\/span><\/a><\/p>\n<p>Let assume that, we want to have a set of parameters of the same type in any method or constructor. We don&#8217;t want to use <em>std::vector<\/em> and similar containers (they don&#8217;t look so good \ud83d\ude42 and we want to do this in a modern way. How are we going to do? Let&#8217;s see it \ud83d\ude42<\/p>\n<div class=\"tlid-input input\">\n<div class=\"source-wrap\">\n<div class=\"input-full-height-wrapper tlid-input-full-height-wrapper\">\n<div class=\"source-input\">\n<div class=\"source-footer-wrap source-or-target-footer\">\n<div class=\"character-count tlid-character-count\">\n<div class=\"cc-ctr normal\"><span title=\"\">For example, let us define a class called <strong>LineString<\/strong>.<\/span> <span title=\"\">Let&#8217;s say that this class represents the lines that composed of 2d points.<\/span> <span class=\"\" title=\"\">Such geometries are widely used in the representation of vector data, especially in Geographical Information Systems.<\/span>\u00a0Below, you can see different linestring geometries:<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"tlid-results-container results-container\">\n<div class=\"tlid-result result-dict-wrapper\">\n<div class=\"result tlid-copy-target\">\n<div class=\"text-wrap tlid-copy-target\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p id=\"gWYfcsC\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1055  aligncenter\" src=\"http:\/\/www.yazilimperver.com\/wp-content\/uploads\/2019\/03\/img_5c87fab3e8917.png\" alt=\"\" width=\"454\" height=\"217\" srcset=\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2019\/03\/img_5c87fab3e8917.png 599w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2019\/03\/img_5c87fab3e8917-300x143.png 300w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2019\/03\/img_5c87fab3e8917-500x239.png 500w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2019\/03\/img_5c87fab3e8917-150x72.png 150w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2019\/03\/img_5c87fab3e8917-400x191.png 400w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2019\/03\/img_5c87fab3e8917-200x95.png 200w\" sizes=\"auto, (max-width: 454px) 100vw, 454px\" \/><\/p>\n<p>Our goal is to add points to this class (let&#8217;s assume that they are two-dimensional for now), in an easy way. Normally, you can add them individually or via a vector or array. Now let&#8217;s look at how we do this using <em>std::initializer_list<\/em> and how many different ways.<\/p>\n<pre class=\"lang:c++ decode:true\">#include &lt;iostream&gt;\r\n#include &lt;vector&gt;\r\n#include &lt;string&gt;\r\n#include &lt;initializer_list&gt;\r\n\r\nstruct Point2D\r\n{\r\n    float mX;\r\n    float mY;    \r\n};\r\n\r\nclass LineString\r\n{\r\npublic:\r\n    LineString(const std::string&amp; id)\r\n      : mId{id}\r\n    {\r\n      std::cout &lt;&lt; \"Empty lineString [\" &lt;&lt; mId &lt;&lt;\"] is constructed!\" &lt;&lt; '\\n';\r\n    }\r\n      \r\n    \/\/ use of initializer_list as parameter for constructor\r\n    LineString(const std::string&amp; id, const std::initializer_list&lt;Point2D&gt;&amp; input)\r\n      : mId{id}\r\n      , mPointList{input}\r\n    {\r\n        std::cout &lt;&lt; \"LineString [\" &lt;&lt; mId &lt;&lt;\"] is constructed with following points: \" &lt;&lt; '\\n';\r\n\r\n        \/\/ ranged loop kullanimi\r\n        for(auto&amp; point : input)\r\n        {\r\n            std::cout &lt;&lt; \"&lt;\" &lt;&lt; point.mX &lt;&lt; \", \" &lt;&lt; point.mY &lt;&lt; \"&gt;\\n\";\r\n        }\r\n    }\r\n\r\n    \/\/ use of initializer_list as parameter for functions and how it can be used with ranged loops\r\n    void addManyPointsRanged(const std::initializer_list&lt;Point2D&gt;&amp; inputs)\r\n    {\r\n         for(auto&amp; point : inputs)\r\n         {\r\n             mPointList.push_back(point);\r\n             std::cout &lt;&lt; \"Point: \" &lt;&lt; point.mX &lt;&lt; \", \" &lt;&lt; point.mY &lt;&lt; \" is added to [\" &lt;&lt; mId &lt;&lt;\"]!\\n\";\r\n         }\r\n    }\r\n    \r\n    \/\/ use of initializer_list as parameter for functions and how it can be used with iterators\r\n    void addManyPointsByIterator(const std::initializer_list&lt;Point2D&gt;&amp; inputs)\r\n    {\r\n        auto itr = inputs.begin();\r\n\r\n        while(itr != inputs.end())\r\n        {\r\n             mPointList.push_back(*itr);\r\n             std::cout &lt;&lt; \"Point: \" &lt;&lt; itr-&gt;mX &lt;&lt; \", \" &lt;&lt; itr-&gt;mX &lt;&lt; \" is added to [\" &lt;&lt; mId &lt;&lt;\"]!\\n\";\r\n\r\n            itr++;\r\n        }\r\n    }\r\n\r\n    \/\/ you can also use initialize_list with operators\r\n    LineString&amp; operator+=(const std::initializer_list&lt;Point2D&gt; &amp;list)\r\n    {\r\n        \/\/ std::vector insert() API also accept initializer_list, so let use that\r\n        \/\/ we can also use this API in above method ;)\r\n        mPointList.insert(mPointList.end(), list);\r\n\r\n         for(auto&amp; point : list)\r\n         {\r\n             std::cout &lt;&lt; \"Point: \" &lt;&lt; point.mX &lt;&lt; \", \" &lt;&lt; point.mY &lt;&lt; \" is added to [\" &lt;&lt; mId &lt;&lt;\"]!\\n\";\r\n         }\r\n\r\n        return *this;\r\n    }    \r\nprotected:\r\n    std::string mId;\r\n    std::vector&lt;Point2D&gt; mPointList;    \r\n};\r\n\r\nint main()\r\n{\r\n    LineString tmp{\"tmp\"};\r\n    LineString tmp2{\"tmp2\", {{0, 0}, {10, 12}, {15, 20}}};\r\n    \r\n    tmp2.addManyPointsRanged({{18, 22}, {34, 45}, {54, 63}, {65, 75}});\r\n    tmp2.addManyPointsByIterator({{0.5, 2.2}, {0.34, 5.7}, {3.4, 6.3}, {6.5, 8.9}});\r\n\r\n    tmp2 += {{11, 22}, {33, 44}, {55, 66}};\r\n    \r\n    return 0;\r\n}<\/pre>\n<p>Yes friends, I think the code above shows a lot of examples in the sense of the use of <em>std::initializer_list<\/em>. This kind of structures, I think, make the code really more readable and simple. That&#8217;s why I suggest you to start using it immediately.<\/p>\n<p>I&#8217;m yazilimperver, see you in my next post. Happy codings \ud83d\ude42<\/p>\n<p>&nbsp;Modern C++ (3): Uniform Initialization, override\/final, default\/delete, constexpr, vb.<\/strong><\/span><\/a><\/p>\n<p><span style=\"font-weight: 400;\">\u015eimdi diyelim ki herhangi bir metoda ya da yap\u0131c\u0131ya ayn\u0131 tipte bir tak\u0131m parametreler ge\u00e7irmek istiyoruz. <em>std::vector<\/em> ve benzeri konteynerler de kullanmak istemiyoruz (keza pek g\u00fczel durmuyorlar \ud83d\ude42 ve bu i\u015fi modern bir \u015fekilde yapmak istiyoruz. Nas\u0131l yapaca\u011f\u0131z? Hemen bakal\u0131m \ud83d\ude42<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00d6rnek i\u00e7in <strong>LineString<\/strong> isminde bir s\u0131n\u0131f\u0131m\u0131z oldu\u011funu kabul edelim. Bu s\u0131n\u0131f, noktalar\u0131n birle\u015fmesinden olu\u015fan \u00e7izgileri temsil etti\u011fini d\u00fc\u015f\u00fcnelim. Bu tarz geometriler \u00f6zellikle Co\u011frafi Bilgi Sistemlerinde, vekt\u00f6rel verilerin temsil edilmesinde kullan\u0131l\u0131rlar. A\u015fa\u011f\u0131da, farkl\u0131 <em>linestring<\/em> geometrilerini g\u00f6rebilirsiniz:<\/span><\/p>\n<p id=\"gWYfcsC\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1055 aligncenter\" src=\"http:\/\/www.yazilimperver.com\/wp-content\/uploads\/2019\/03\/img_5c87fab3e8917.png\" alt=\"\" width=\"454\" height=\"217\" srcset=\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2019\/03\/img_5c87fab3e8917.png 599w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2019\/03\/img_5c87fab3e8917-300x143.png 300w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2019\/03\/img_5c87fab3e8917-500x239.png 500w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2019\/03\/img_5c87fab3e8917-150x72.png 150w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2019\/03\/img_5c87fab3e8917-400x191.png 400w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2019\/03\/img_5c87fab3e8917-200x95.png 200w\" sizes=\"auto, (max-width: 454px) 100vw, 454px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Amac\u0131m\u0131z bu s\u0131n\u0131fa noktalar\u0131 (\u015fimdilik iki boyutlu olduklar\u0131n\u0131 kabul edelim), kolay bir \u015fekilde eklemek olsun. Normal \u015fartlarda bunlar\u0131 tek tek ya da bir vekt\u00f6r ya da dizi arac\u0131l\u0131\u011f\u0131 ile ekleyebilirsiniz. \u015eimdi bunu <em>std::initializer_list<\/em> ile nas\u0131l ve ka\u00e7 farkl\u0131 yolla yapar\u0131z ona bakal\u0131m.<\/span><\/p>\n<pre class=\"lang:c++ decode:true \">#include &lt;iostream&gt;\r\n#include &lt;vector&gt;\r\n#include &lt;string&gt;\r\n#include &lt;initializer_list&gt;\r\n\r\nstruct Point2D\r\n{\r\n    float mX;\r\n    float mY;    \r\n};\r\n\r\nclass LineString\r\n{\r\npublic:\r\n    LineString(const std::string&amp; id)\r\n      : mId{id}\r\n    {\r\n      std::cout &lt;&lt; \"Empty lineString [\" &lt;&lt; mId &lt;&lt;\"] is constructed!\" &lt;&lt; '\\n';\r\n    }\r\n      \r\n    \/\/ initializer_list'in yapici ile kullanimi\r\n    LineString(const std::string&amp; id, const std::initializer_list&lt;Point2D&gt;&amp; input)\r\n      : mId{id}\r\n      , mPointList{input}\r\n    {\r\n        std::cout &lt;&lt; \"LineString [\" &lt;&lt; mId &lt;&lt;\"] is constructed with following points: \" &lt;&lt; '\\n';\r\n\r\n        \/\/ ranged loop kullanimi\r\n        for(auto&amp; point : input)\r\n        {\r\n            std::cout &lt;&lt; \"&lt;\" &lt;&lt; point.mX &lt;&lt; \", \" &lt;&lt; point.mY &lt;&lt; \"&gt;\\n\";\r\n        }\r\n    }\r\n\r\n    \/\/ initializer_list'in parametre olarak gecirilmesi ve ranged loop ile eklenmesi\r\n    void addManyPointsRanged(const std::initializer_list&lt;Point2D&gt;&amp; inputs)\r\n    {\r\n         for(auto&amp; point : inputs)\r\n         {\r\n             mPointList.push_back(point);\r\n             std::cout &lt;&lt; \"Point: \" &lt;&lt; point.mX &lt;&lt; \", \" &lt;&lt; point.mY &lt;&lt; \" is added to [\" &lt;&lt; mId &lt;&lt;\"]!\\n\";\r\n         }\r\n    }\r\n    \r\n    \/\/ initializer_list'in parametre olarak gecirilmesi ve iterator ile eklenmesi\r\n    void addManyPointsByIterator(const std::initializer_list&lt;Point2D&gt;&amp; inputs)\r\n    {\r\n        auto itr = inputs.begin();\r\n\r\n        while(itr != inputs.end())\r\n        {\r\n             mPointList.push_back(*itr);\r\n             std::cout &lt;&lt; \"Point: \" &lt;&lt; itr-&gt;mX &lt;&lt; \", \" &lt;&lt; itr-&gt;mX &lt;&lt; \" is added to [\" &lt;&lt; mId &lt;&lt;\"]!\\n\";\r\n\r\n            itr++;\r\n        }\r\n    }\r\n\r\n    \/\/ ayrica initialize_list'i atama operatoru ile de kullanabilirsiniz\r\n    LineString&amp; operator+=(const std::initializer_list&lt;Point2D&gt; &amp;list)\r\n    {\r\n        \/\/ std::vector insert() API'si de initializer_list kabul ediyor\r\n        \/\/ elbette bunu yukarida da kullanabilirdik\r\n        mPointList.insert(mPointList.end(), list);\r\n\r\n         for(auto&amp; point : list)\r\n         {\r\n             std::cout &lt;&lt; \"Point: \" &lt;&lt; point.mX &lt;&lt; \", \" &lt;&lt; point.mY &lt;&lt; \" is added to [\" &lt;&lt; mId &lt;&lt;\"]!\\n\";\r\n         }\r\n\r\n        return *this;\r\n    }    \r\nprotected:\r\n    std::string mId;\r\n    std::vector&lt;Point2D&gt; mPointList;    \r\n};\r\n\r\nint main()\r\n{\r\n    LineString tmp{\"tmp\"};\r\n    LineString tmp2{\"tmp2\", {{0, 0}, {10, 12}, {15, 20}}};\r\n    \r\n    tmp2.addManyPointsRanged({{18, 22}, {34, 45}, {54, 63}, {65, 75}});\r\n    tmp2.addManyPointsByIterator({{0.5, 2.2}, {0.34, 5.7}, {3.4, 6.3}, {6.5, 8.9}});\r\n\r\n    tmp2 += {{11, 22}, {33, 44}, {55, 66}};\r\n    \r\n    return 0;\r\n}<\/pre>\n<p>Evet arkada\u015flar, yukar\u0131daki kod san\u0131r\u0131m\u00a0<em>std::initializer_list &#8216;<\/em>in kullan\u0131m\u0131 anlam\u0131nda bir \u00e7ok \u00f6rnek g\u00f6stermi\u015f oldu. Bu tarz yap\u0131lar, bana kal\u0131rsa kodu ger\u00e7ekten daha okunabilir ve sade bir hale getiriyorlar. O sebeple \u015fiddetle kullanman\u0131z\u0131 \u00f6neriyorum.<\/p>\n<p>Ben yaz\u0131l\u0131mperver, bir sonraki yaz\u0131m\u0131zda g\u00f6r\u00fc\u015fmek \u00fczere, iyi kodlamalar.<\/p>\n<p>&nbsp;<\/p>","protected":false},"excerpt":{"rendered":"<p>Hello everybody, we are looking at another snippet this week. In this article, I will provide you a sample code that illustrate passing std::initializer_list\u00a0 as\u00a0parameter. I already mentioned std::initializer_list\u00a0in my modern C ++ article. If you don&#8217;t have any idea about this feature, I strongly recommend that you take a look at my article below&#8230;. <a class=\"more-link\" href=\"https:\/\/www.yazilimperver.com\/index.php\/2019\/03\/12\/haftalik-c-11-stdinitializer_listin-parametre-olarak-kullanimi\/\">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],"tags":[46,387,383,42,382,386,381,384,385,236],"class_list":["post-1054","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-c","tag-c-11","tag-iterators","tag-linestring","tag-modern-c","tag-parameter","tag-ranged-loops","tag-stdinitializer_list","tag-stdinitializer_list-in-constructor","tag-stdinitializer_list-in-functions","tag-weekly-c"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Haftal\u0131k C++ 11- std::initializer_list&#039;in parametre olarak kullan\u0131m\u0131 - 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\/2019\/03\/12\/haftalik-c-11-stdinitializer_listin-parametre-olarak-kullanimi\/\" \/>\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++ 11- std::initializer_list&#039;in parametre olarak kullan\u0131m\u0131[:en]Weeky C++ 11- Using std::initializer_list as parameter[:] - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\" \/>\n<meta property=\"og:description\" content=\"Hello everybody, we are looking at another snippet this week. In this article, I will provide you a sample code that illustrate passing std::initializer_list\u00a0 as\u00a0parameter. I already mentioned std::initializer_list\u00a0in my modern C ++ article. If you don&#8217;t have any idea about this feature, I strongly recommend that you take a look at my article below.... Continue reading &#8594;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.yazilimperver.com\/index.php\/2019\/03\/12\/haftalik-c-11-stdinitializer_listin-parametre-olarak-kullanimi\/\" \/>\n<meta property=\"og:site_name\" content=\"Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2019-03-12T18:45:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-03-12T19:08:46+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=\"9 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\/2019\/03\/12\/haftalik-c-11-stdinitializer_listin-parametre-olarak-kullanimi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2019\/03\/12\/haftalik-c-11-stdinitializer_listin-parametre-olarak-kullanimi\/\"},\"author\":{\"name\":\"yaz\u0131l\u0131mperver\",\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb\"},\"headline\":\"Haftal\u0131k C++ 11- std::initializer_list&#8217;in parametre olarak kullan\u0131m\u0131\",\"datePublished\":\"2019-03-12T18:45:17+00:00\",\"dateModified\":\"2019-03-12T19:08:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2019\/03\/12\/haftalik-c-11-stdinitializer_listin-parametre-olarak-kullanimi\/\"},\"wordCount\":747,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb\"},\"keywords\":[\"C++ 11\",\"iterators\",\"linestring\",\"Modern C++\",\"parameter\",\"ranged loops\",\"std::initializer_list\",\"std::initializer_list in constructor\",\"std::initializer_list in functions\",\"weekly c++\"],\"articleSection\":[\"C++\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.yazilimperver.com\/index.php\/2019\/03\/12\/haftalik-c-11-stdinitializer_listin-parametre-olarak-kullanimi\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2019\/03\/12\/haftalik-c-11-stdinitializer_listin-parametre-olarak-kullanimi\/\",\"url\":\"https:\/\/www.yazilimperver.com\/index.php\/2019\/03\/12\/haftalik-c-11-stdinitializer_listin-parametre-olarak-kullanimi\/\",\"name\":\"[:tr]Haftal\u0131k C++ 11- std::initializer_list'in parametre olarak kullan\u0131m\u0131[:en]Weeky C++ 11- Using std::initializer_list as parameter[:] - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/www.yazilimperver.com\/#website\"},\"datePublished\":\"2019-03-12T18:45:17+00:00\",\"dateModified\":\"2019-03-12T19:08:46+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2019\/03\/12\/haftalik-c-11-stdinitializer_listin-parametre-olarak-kullanimi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.yazilimperver.com\/index.php\/2019\/03\/12\/haftalik-c-11-stdinitializer_listin-parametre-olarak-kullanimi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2019\/03\/12\/haftalik-c-11-stdinitializer_listin-parametre-olarak-kullanimi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Ana sayfa\",\"item\":\"https:\/\/www.yazilimperver.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Haftal\u0131k C++ 11- std::initializer_list&#8217;in parametre olarak kullan\u0131m\u0131\"}]},{\"@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++ 11- std::initializer_list'in parametre olarak kullan\u0131m\u0131[:en]Weeky C++ 11- Using std::initializer_list as parameter[:] - 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\/2019\/03\/12\/haftalik-c-11-stdinitializer_listin-parametre-olarak-kullanimi\/","og_locale":"tr_TR","og_type":"article","og_title":"[:tr]Haftal\u0131k C++ 11- std::initializer_list'in parametre olarak kullan\u0131m\u0131[:en]Weeky C++ 11- Using std::initializer_list as parameter[:] - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","og_description":"Hello everybody, we are looking at another snippet this week. In this article, I will provide you a sample code that illustrate passing std::initializer_list\u00a0 as\u00a0parameter. I already mentioned std::initializer_list\u00a0in my modern C ++ article. If you don&#8217;t have any idea about this feature, I strongly recommend that you take a look at my article below.... Continue reading &#8594;","og_url":"https:\/\/www.yazilimperver.com\/index.php\/2019\/03\/12\/haftalik-c-11-stdinitializer_listin-parametre-olarak-kullanimi\/","og_site_name":"Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","article_published_time":"2019-03-12T18:45:17+00:00","article_modified_time":"2019-03-12T19:08:46+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":"9 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.yazilimperver.com\/index.php\/2019\/03\/12\/haftalik-c-11-stdinitializer_listin-parametre-olarak-kullanimi\/#article","isPartOf":{"@id":"https:\/\/www.yazilimperver.com\/index.php\/2019\/03\/12\/haftalik-c-11-stdinitializer_listin-parametre-olarak-kullanimi\/"},"author":{"name":"yaz\u0131l\u0131mperver","@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb"},"headline":"Haftal\u0131k C++ 11- std::initializer_list&#8217;in parametre olarak kullan\u0131m\u0131","datePublished":"2019-03-12T18:45:17+00:00","dateModified":"2019-03-12T19:08:46+00:00","mainEntityOfPage":{"@id":"https:\/\/www.yazilimperver.com\/index.php\/2019\/03\/12\/haftalik-c-11-stdinitializer_listin-parametre-olarak-kullanimi\/"},"wordCount":747,"commentCount":0,"publisher":{"@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb"},"keywords":["C++ 11","iterators","linestring","Modern C++","parameter","ranged loops","std::initializer_list","std::initializer_list in constructor","std::initializer_list in functions","weekly c++"],"articleSection":["C++"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.yazilimperver.com\/index.php\/2019\/03\/12\/haftalik-c-11-stdinitializer_listin-parametre-olarak-kullanimi\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.yazilimperver.com\/index.php\/2019\/03\/12\/haftalik-c-11-stdinitializer_listin-parametre-olarak-kullanimi\/","url":"https:\/\/www.yazilimperver.com\/index.php\/2019\/03\/12\/haftalik-c-11-stdinitializer_listin-parametre-olarak-kullanimi\/","name":"[:tr]Haftal\u0131k C++ 11- std::initializer_list'in parametre olarak kullan\u0131m\u0131[:en]Weeky C++ 11- Using std::initializer_list as parameter[:] - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/www.yazilimperver.com\/#website"},"datePublished":"2019-03-12T18:45:17+00:00","dateModified":"2019-03-12T19:08:46+00:00","breadcrumb":{"@id":"https:\/\/www.yazilimperver.com\/index.php\/2019\/03\/12\/haftalik-c-11-stdinitializer_listin-parametre-olarak-kullanimi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.yazilimperver.com\/index.php\/2019\/03\/12\/haftalik-c-11-stdinitializer_listin-parametre-olarak-kullanimi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.yazilimperver.com\/index.php\/2019\/03\/12\/haftalik-c-11-stdinitializer_listin-parametre-olarak-kullanimi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Ana sayfa","item":"https:\/\/www.yazilimperver.com\/"},{"@type":"ListItem","position":2,"name":"Haftal\u0131k C++ 11- std::initializer_list&#8217;in parametre olarak kullan\u0131m\u0131"}]},{"@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\/1054","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=1054"}],"version-history":[{"count":2,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/posts\/1054\/revisions"}],"predecessor-version":[{"id":1063,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/posts\/1054\/revisions\/1063"}],"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=1054"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/categories?post=1054"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/tags?post=1054"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}