{"id":559,"date":"2018-10-17T17:40:08","date_gmt":"2018-10-17T17:40:08","guid":{"rendered":"http:\/\/www.yazilimperver.com\/?p=559"},"modified":"2018-10-17T17:46:19","modified_gmt":"2018-10-17T17:46:19","slug":"haftalik-c-1-erase-remove-idiom","status":"publish","type":"post","link":"https:\/\/www.yazilimperver.com\/index.php\/2018\/10\/17\/haftalik-c-1-erase-remove-idiom\/","title":{"rendered":"Haftal\u0131k C++ &#8211; 1 (&#8220;Erase-remove idiom&#8221;)"},"content":{"rendered":"<p>Merhaba sevgili Yaz\u0131l\u0131mperver dostlar\u0131m. Bu yaz\u0131m ile birlikte yeni bir yaz\u0131 serisine (Haftal\u0131k C++) yelken a\u00e7\u0131yoruz. Bu yaz\u0131lar, daha \u00f6nce Modern C++ ba\u015fl\u0131\u011f\u0131 ile yo\u011fun bir \u015fekilde i\u015fledi\u011fimiz C++ 11 yaz\u0131lar\u0131na nazaran \u00e7ok daha k\u0131sa kod par\u00e7alar\u0131 veya konular i\u00e7eriyor olacak. Bu kodlar\u0131n b\u00fcy\u00fck k\u0131sm\u0131n\u0131, benim kulland\u0131\u011f\u0131m kodlardan, ya da kitap veya internette g\u00f6rd\u00fc\u011f\u00fcm k\u00fct\u00fcphane veya benzeri kaynaklardan derliyor olaca\u011f\u0131m. G\u00fcnl\u00fck geli\u015ftirdi\u011finiz yaz\u0131l\u0131mlarda kar\u015f\u0131la\u015ft\u0131\u011f\u0131n\u0131z problemleri \u00e7\u00f6zmesi dile\u011fiyle ilk yaz\u0131m\u0131za ba\u015flayal\u0131m.<\/p>\n<p>\u0130lk yaz\u0131m\u0131z\u0131n konusu &#8220;<em>Erase-remove idiom<\/em>&#8221; olacak. Peki ne demek bu kavram ve nereden geliyor.\u00a0C++&#8217;da belirli kriterleri sa\u011flayan elemanlar\u0131n konteynerlerden verimli bir \u015fekilde silinmesi tekni\u011fine &#8220;<em>Erase-remove idiom<\/em>&#8220;, deniliyor. Bu elemanlar bir for d\u00f6ng\u00fcs\u00fc kullanarak bunlar\u0131 silinebilse de, bu y\u00f6ntem ile bu i\u015f daha verimli bir \u015fekilde ger\u00e7ekle\u015ftirilebiliyor.<\/p>\n<p>Bunun i\u00e7in de C++ 17 ile birlikte STL&#8217;e dahil edilen <em>std::remove<\/em> metotlar\u0131n\u0131 ve ilgili konteynerlerde bulunan <em>erase<\/em> metodunu kullanaca\u011f\u0131z.<\/p>\n<p><em>erase<\/em> ile <em>remove<\/em> metotlar\u0131 aras\u0131ndaki temel farkl\u0131l\u0131k: <em>erase<\/em> ilgili eleman\u0131 sildi\u011fi durumda kalan b\u00fct\u00fcn elemanlar kopyalan\u0131yor. Bunun yan\u0131nda <em>remove<\/em> metodu ise ilgili elemanlar\u0131 silmek yerine yerlerini de\u011fi\u015ftiriyor. Bu durumda for loopu kullanarak sadece <em>erase\u00a0<\/em>metodu ile\u00a0silmek <strong>O(N^2)<\/strong> &#8216;lik bir algoritma olsa da , bu yakla\u015f\u0131m ile <strong>O(N)<\/strong>&#8216;l\u0131k bir algoritma elde edebiliyoruz. Tabi bu kullan\u0131m\u0131n tek tek silmelerde bize \u00e7ok bir \u015fey kazand\u0131rmayaca\u011f\u0131 a\u015fikar.<\/p>\n<p>Peki <em>erase<\/em>\u00a0metodu burada ne yap\u0131yor (a\u015fa\u011f\u0131da kanl\u0131 canl\u0131 bir \u00f6rnek de var): silinemeyecek olan elemanlar\u0131, silinecek olan elemanlar\u0131n \u00f6n\u00fcnde olacak \u015fekilde s\u0131ray\u0131 ayarl\u0131yor. Silinecek olan elemanlara ula\u015f\u0131labilse de bunlar\u0131n de\u011ferleri tan\u0131ml\u0131 de\u011fil (\u00f6rne\u011fin a\u015fa\u011f\u0131daki \u00f6rnekte son iki eleman, daha \u00f6nceki elemanlar ile dolduruluyor). Yani asl\u0131nda konteynerin boyu de\u011fi\u015fmiyor ve bu metot sonucu d\u00f6n\u00fclen iterat\u00f6r de bu elemanlardan ilkini i\u015faret ediyor ve \u00e7o\u011funlukla da bu\u00a0<em>erase\u00a0<\/em>metoduna ge\u00e7irilerek fiziksel silme ger\u00e7ekle\u015ftiriliyor.<\/p>\n<p>Son bir not: bu yakla\u015f\u0131m const_iterator d\u00f6nen <em>set\/map<\/em> gibi konteynerler ile kullan\u0131lam\u0131yor.<\/p>\n<pre class=\"lang:c++ decode:true \">#include &lt;iostream&gt;\r\n#include &lt;vector&gt;\r\n#include &lt;algorithm&gt;\r\nusing namespace std;\r\n\r\nvoid printList(const auto&amp; list)\r\n{\r\n    for(const auto&amp; element : list)\r\n        cout &lt;&lt; element &lt;&lt; \" \";\r\n\r\n    cout &lt;&lt; endl;\r\n}\r\n\r\nint main()\r\n{\r\n    \/\/ Geleneksel yontem\r\n    \/\/ Ornek vektor\r\n    vector&lt;int&gt; list {10, 20, 30, 40, 40, 50, 60, 70, 80};\r\n    vector&lt;int&gt; secondList = list;\r\n    vector&lt;int&gt; thirdList = list;\r\n\r\n    \/\/ Simdi bu listeden 40 sayilarini silelim\r\n    list.erase(begin(list) + 3, begin(list) + 5);\r\n\r\n    \/\/ Listeye bakalim. Gorulecegi uzere elemanlar fiziksel olarak siliniyor\r\n    printList(list);\r\n    \r\n    \/\/ Simdi std::remove durumunda ne olduguna bakalim\r\n    std::remove(secondList.begin(), secondList.end(), 40);\r\n    \r\n    \/\/ Silinen elemanlar yerine kalanlarin kaydirildigina dikkat edin, fakat boyut degismiyor\r\n    \/\/ Son iki elemanda, bir onceki listedeki son iki eleman olarak degisitine dikkat edin(tanimsiz davranis dedigimiz bu aslinda)\r\n    printList(secondList);\r\n\r\n    \/\/ Son olarak Erase - remove idiom\" kullanimina bakalim. Tek satir ile olayi cozuyoruz.\r\n    printList(thirdList);\r\n    thirdList.erase(std::remove(thirdList.begin(), thirdList.end(), 40), thirdList.end());\r\n    printList(thirdList);\r\n\r\n    return 0;\r\n}<\/pre>\n<p>Bir sonraki yaz\u0131mda g\u00f6r\u00fc\u015fmek \u00fczere. Sonrakiler daha k\u0131sa olacak yaln\u0131z \ud83d\ude09<\/p>\n<p>Kaynaklar:<\/p>\n<ul>\n<li><a href=\"https:\/\/en.cppreference.com\/w\/cpp\/algorithm\/remove\"><span style=\"color: #339966;\"><strong>https:\/\/en.cppreference.com\/w\/cpp\/algorithm\/remove<\/strong><\/span><\/a><\/li>\n<li><a href=\"https:\/\/stackoverflow.com\/questions\/19296958\/difference-between-stdremove-and-erase-for-vector\"><span style=\"color: #339966;\"><strong>https:\/\/stackoverflow.com\/questions\/19296958\/difference-between-stdremove-and-erase-for-vector<\/strong><\/span><\/a><\/li>\n<li><a href=\"https:\/\/www.geeksforgeeks.org\/difference-between-stdremove-and-vectorerase-for-vectors\/\"><span style=\"color: #339966;\"><strong>https:\/\/www.geeksforgeeks.org\/difference-between-stdremove-and-vectorerase-for-vectors\/<\/strong><\/span><\/a><\/li>\n<\/ul>\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>Merhaba sevgili Yaz\u0131l\u0131mperver dostlar\u0131m. Bu yaz\u0131m ile birlikte yeni bir yaz\u0131 serisine (Haftal\u0131k C++) yelken a\u00e7\u0131yoruz. Bu yaz\u0131lar, daha \u00f6nce Modern C++ ba\u015fl\u0131\u011f\u0131 ile yo\u011fun bir \u015fekilde i\u015fledi\u011fimiz C++ 11 yaz\u0131lar\u0131na nazaran \u00e7ok daha k\u0131sa kod par\u00e7alar\u0131 veya konular i\u00e7eriyor olacak. Bu kodlar\u0131n b\u00fcy\u00fck k\u0131sm\u0131n\u0131, benim kulland\u0131\u011f\u0131m kodlardan, ya da kitap veya internette g\u00f6rd\u00fc\u011f\u00fcm k\u00fct\u00fcphane&#8230; <a class=\"more-link\" href=\"https:\/\/www.yazilimperver.com\/index.php\/2018\/10\/17\/haftalik-c-1-erase-remove-idiom\/\">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":[13,204,206,207,42,205,48,203],"class_list":["post-559","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-c","tag-c","tag-c17","tag-erase","tag-erase-remove-idiom","tag-modern-c","tag-stdremove","tag-stl","tag-weekly"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Haftal\u0131k C++ - 1 (&quot;Erase-remove idiom&quot;) - 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\/2018\/10\/17\/haftalik-c-1-erase-remove-idiom\/\" \/>\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++ - 1 (&quot;Erase-remove idiom&quot;)[:en]Weekly C++ - 1 (&quot;Erase-remove idiom&quot;)[:] - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\" \/>\n<meta property=\"og:description\" content=\"Merhaba sevgili Yaz\u0131l\u0131mperver dostlar\u0131m. Bu yaz\u0131m ile birlikte yeni bir yaz\u0131 serisine (Haftal\u0131k C++) yelken a\u00e7\u0131yoruz. Bu yaz\u0131lar, daha \u00f6nce Modern C++ ba\u015fl\u0131\u011f\u0131 ile yo\u011fun bir \u015fekilde i\u015fledi\u011fimiz C++ 11 yaz\u0131lar\u0131na nazaran \u00e7ok daha k\u0131sa kod par\u00e7alar\u0131 veya konular i\u00e7eriyor olacak. Bu kodlar\u0131n b\u00fcy\u00fck k\u0131sm\u0131n\u0131, benim kulland\u0131\u011f\u0131m kodlardan, ya da kitap veya internette g\u00f6rd\u00fc\u011f\u00fcm k\u00fct\u00fcphane... Continue reading &#8594;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.yazilimperver.com\/index.php\/2018\/10\/17\/haftalik-c-1-erase-remove-idiom\/\" \/>\n<meta property=\"og:site_name\" content=\"Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2018-10-17T17:40:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-10-17T17:46:19+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=\"6 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\/2018\/10\/17\/haftalik-c-1-erase-remove-idiom\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2018\/10\/17\/haftalik-c-1-erase-remove-idiom\/\"},\"author\":{\"name\":\"yaz\u0131l\u0131mperver\",\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb\"},\"headline\":\"Haftal\u0131k C++ &#8211; 1 (&#8220;Erase-remove idiom&#8221;)\",\"datePublished\":\"2018-10-17T17:40:08+00:00\",\"dateModified\":\"2018-10-17T17:46:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2018\/10\/17\/haftalik-c-1-erase-remove-idiom\/\"},\"wordCount\":846,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb\"},\"keywords\":[\"c++\",\"C++17\",\"erase\",\"erase-remove idiom\",\"Modern C++\",\"std::remove\",\"STL\",\"Weekly\"],\"articleSection\":[\"C++\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.yazilimperver.com\/index.php\/2018\/10\/17\/haftalik-c-1-erase-remove-idiom\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2018\/10\/17\/haftalik-c-1-erase-remove-idiom\/\",\"url\":\"https:\/\/www.yazilimperver.com\/index.php\/2018\/10\/17\/haftalik-c-1-erase-remove-idiom\/\",\"name\":\"[:tr]Haftal\u0131k C++ - 1 (\\\"Erase-remove idiom\\\")[:en]Weekly C++ - 1 (\\\"Erase-remove idiom\\\")[:] - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/www.yazilimperver.com\/#website\"},\"datePublished\":\"2018-10-17T17:40:08+00:00\",\"dateModified\":\"2018-10-17T17:46:19+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2018\/10\/17\/haftalik-c-1-erase-remove-idiom\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.yazilimperver.com\/index.php\/2018\/10\/17\/haftalik-c-1-erase-remove-idiom\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2018\/10\/17\/haftalik-c-1-erase-remove-idiom\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Ana sayfa\",\"item\":\"https:\/\/www.yazilimperver.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Haftal\u0131k C++ &#8211; 1 (&#8220;Erase-remove idiom&#8221;)\"}]},{\"@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++ - 1 (\"Erase-remove idiom\")[:en]Weekly C++ - 1 (\"Erase-remove idiom\")[:] - 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\/2018\/10\/17\/haftalik-c-1-erase-remove-idiom\/","og_locale":"tr_TR","og_type":"article","og_title":"[:tr]Haftal\u0131k C++ - 1 (\"Erase-remove idiom\")[:en]Weekly C++ - 1 (\"Erase-remove idiom\")[:] - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","og_description":"Merhaba sevgili Yaz\u0131l\u0131mperver dostlar\u0131m. Bu yaz\u0131m ile birlikte yeni bir yaz\u0131 serisine (Haftal\u0131k C++) yelken a\u00e7\u0131yoruz. Bu yaz\u0131lar, daha \u00f6nce Modern C++ ba\u015fl\u0131\u011f\u0131 ile yo\u011fun bir \u015fekilde i\u015fledi\u011fimiz C++ 11 yaz\u0131lar\u0131na nazaran \u00e7ok daha k\u0131sa kod par\u00e7alar\u0131 veya konular i\u00e7eriyor olacak. Bu kodlar\u0131n b\u00fcy\u00fck k\u0131sm\u0131n\u0131, benim kulland\u0131\u011f\u0131m kodlardan, ya da kitap veya internette g\u00f6rd\u00fc\u011f\u00fcm k\u00fct\u00fcphane... Continue reading &#8594;","og_url":"https:\/\/www.yazilimperver.com\/index.php\/2018\/10\/17\/haftalik-c-1-erase-remove-idiom\/","og_site_name":"Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","article_published_time":"2018-10-17T17:40:08+00:00","article_modified_time":"2018-10-17T17:46:19+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":"6 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.yazilimperver.com\/index.php\/2018\/10\/17\/haftalik-c-1-erase-remove-idiom\/#article","isPartOf":{"@id":"https:\/\/www.yazilimperver.com\/index.php\/2018\/10\/17\/haftalik-c-1-erase-remove-idiom\/"},"author":{"name":"yaz\u0131l\u0131mperver","@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb"},"headline":"Haftal\u0131k C++ &#8211; 1 (&#8220;Erase-remove idiom&#8221;)","datePublished":"2018-10-17T17:40:08+00:00","dateModified":"2018-10-17T17:46:19+00:00","mainEntityOfPage":{"@id":"https:\/\/www.yazilimperver.com\/index.php\/2018\/10\/17\/haftalik-c-1-erase-remove-idiom\/"},"wordCount":846,"commentCount":0,"publisher":{"@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb"},"keywords":["c++","C++17","erase","erase-remove idiom","Modern C++","std::remove","STL","Weekly"],"articleSection":["C++"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.yazilimperver.com\/index.php\/2018\/10\/17\/haftalik-c-1-erase-remove-idiom\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.yazilimperver.com\/index.php\/2018\/10\/17\/haftalik-c-1-erase-remove-idiom\/","url":"https:\/\/www.yazilimperver.com\/index.php\/2018\/10\/17\/haftalik-c-1-erase-remove-idiom\/","name":"[:tr]Haftal\u0131k C++ - 1 (\"Erase-remove idiom\")[:en]Weekly C++ - 1 (\"Erase-remove idiom\")[:] - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/www.yazilimperver.com\/#website"},"datePublished":"2018-10-17T17:40:08+00:00","dateModified":"2018-10-17T17:46:19+00:00","breadcrumb":{"@id":"https:\/\/www.yazilimperver.com\/index.php\/2018\/10\/17\/haftalik-c-1-erase-remove-idiom\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.yazilimperver.com\/index.php\/2018\/10\/17\/haftalik-c-1-erase-remove-idiom\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.yazilimperver.com\/index.php\/2018\/10\/17\/haftalik-c-1-erase-remove-idiom\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Ana sayfa","item":"https:\/\/www.yazilimperver.com\/"},{"@type":"ListItem","position":2,"name":"Haftal\u0131k C++ &#8211; 1 (&#8220;Erase-remove idiom&#8221;)"}]},{"@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\/559","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=559"}],"version-history":[{"count":8,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/posts\/559\/revisions"}],"predecessor-version":[{"id":571,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/posts\/559\/revisions\/571"}],"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=559"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/categories?post=559"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/tags?post=559"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}