{"id":2975,"date":"2025-02-16T14:22:29","date_gmt":"2025-02-16T14:22:29","guid":{"rendered":"https:\/\/www.yazilimperver.com\/?p=2975"},"modified":"2025-02-16T14:22:29","modified_gmt":"2025-02-16T14:22:29","slug":"haftalik-c-61-stdtransform","status":"publish","type":"post","link":"https:\/\/www.yazilimperver.com\/index.php\/2025\/02\/16\/haftalik-c-61-stdtransform\/","title":{"rendered":"Haftal\u0131k C++ 61 &#8211; std::transform"},"content":{"rendered":"<p>Evet sevgili yaz\u0131l\u0131mperver dostlar\u0131m uzun bir aradan sonra nas\u0131l bir yaz\u0131 yazay\u0131m diye d\u00fc\u015f\u00fcn\u00fcrken, &#8220;blog backlog&#8221;&#8216;um da bulunan <strong>std::transform<\/strong> konusuna de\u011finmeye karar verdim. std::transform&#8217;a, a\u015fina olduktan sonra, \u00f6zellikle veri dizileri ile u\u011fra\u015f\u0131yorsan\u0131z, bir \u00e7ok problem i\u00e7in kullanabilece\u011finiz bir ara\u00e7 haline gelece\u011fini d\u00fc\u015f\u00fcn\u00fcyorum. O sebeple de bu yaz\u0131mda k\u0131saca farkl\u0131 kullan\u0131mlar\u0131na de\u011finece\u011fim.<\/p>\n<h2><strong><span style=\"color: #0000ff;\">Peki std::transform nedir?<\/span><\/strong><\/h2>\n<p>std::transform, verilen bir ya da daha fazla girdiyi alarak, her bir eleman\u0131na, verilen fonksiyonu uygulayarak, yeni bir dizi olu\u015fturmam\u0131za olanak sa\u011flayan STL k\u00fct\u00fcphanesi fonksiyonudur. Bu fonksiyonun iki temel kullan\u0131m\u0131 bulunmaktad\u0131r.<\/p>\n<p>Bunlardan birincisi, tek girdili kullan\u0131m (unary). Bu kullan\u0131mda verilen tek bir diziye, ilgili fonksiyon uygulanarak, dize de\u011ferleri de\u011fi\u015ftirilir. Birazdan g\u00f6rece\u011fimiz \u00fczere, bu verilen dizi \u00fczerine yaz\u0131larak da olabilir ya da yeni bir dizi de d\u00f6n\u00fclebilir.<\/p>\n<p>Bir di\u011feri ise ikili kullan\u0131md\u0131r (binary). Bu kullan\u0131mda ise iki girdiden al\u0131nan de\u011ferler yine i\u015flenerek yeni bir dizi elde edilir. A\u015fa\u011f\u0131da farkl\u0131 internet sitelerinde buldu\u011fum ve bu kabiliyeti g\u00fczel \u00f6zetleyen fig\u00fcrleri g\u00f6rebilirsiniz.<\/p>\n<p>Tekli kullan\u0131m:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/i0.wp.com\/www.fluentcpp.com\/wp-content\/uploads\/2017\/02\/transform1.png?resize=548%2C241&amp;ssl=1\" alt=\"transform\" \/><\/p>\n<p id=\"izGUUwH\">\u0130kili kullan\u0131m:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/i0.wp.com\/www.fluentcpp.com\/wp-content\/uploads\/2017\/02\/transform2.png?resize=883%2C294&amp;ssl=1\" alt=\"transform\" \/><\/p>\n<p>Di\u011fer programlama dillerinde bulunan (\u00d6r. javascript) &#8220;map&#8221;\u00a0 kullan\u0131m\u0131na olduk\u00e7a benziyor. Javascriptte de, map() fonksiyonu, mevcut bir diziden, bir fonksiyonu b\u00fct\u00fcn elemanlar\u0131na uygulayarak yeni bir dizi olu\u015fturmak i\u00e7in kullan\u0131lmakta. A\u015fa\u011f\u0131da k\u0131sa bir \u00f6rnek bulabilirsiniz:<\/p>\n<p>const numbers = [1, 2, 3, 4];<br \/>\nconst doubled = numbers.map(item =&gt; item * 2);<br \/>\nconsole.log(doubled); \/\/ [2, 4, 6, 8]<\/p>\n<p>\u015eimdi gelelim C++ \u00f6rneklerine.<\/p>\n<h2><span style=\"color: #0000ff;\"><strong>Temel, Tekli Kullan\u0131m<\/strong><\/span><\/h2>\n<p>\u00d6rne\u011fin verilen bir dizideki say\u0131lar\u0131n iki kat\u0131n\u0131 hesaplamaya ihtiyac\u0131n\u0131z oldu\u011funu d\u00fc\u015f\u00fcnelim. A\u015fa\u011f\u0131da, std::transform ile bunu nas\u0131l yapabilece\u011finiz g\u00f6rebilirsiniz:<\/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\n\r\nint32_t main() {\r\n    std::vector&lt;int32_t&gt; numbers = {1, 2, 3, 4, 5};\r\n\r\n    \/\/ Cikti dizi ayni boyutta olmali\r\n    std::vector&lt;int32_t&gt; squared(numbers.size());\r\n\r\n    std::transform(numbers.begin(), numbers.end(), squared.begin(),\r\n                   [](int32_t n) { return n * n; }\r\n    );\r\n\r\n    for (auto n : squared) {\r\n        std::cout &lt;&lt; n &lt;&lt; \" \";\r\n    }\r\n    \/\/ Cikti: 1 4 9 16 25\r\n\r\n    return 0;\r\n}<\/pre>\n<p>Peki yukar\u0131daki i\u015flemi ayn\u0131 dizi \u00fczerinde yapmak isteseydik ne yapard\u0131k? Tam olarak a\u015fa\u011f\u0131daki gibi \ud83d\ude42<\/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\n\r\nint32_t main() {\r\n    std::vector&lt;int32_t&gt; numbers = {1, 2, 3, 4, 5};\r\n\r\n    std::transform(numbers.begin(), numbers.end(), numbers.begin(),\r\n                   [](int32_t n) { return n * n; }\r\n    );\r\n\r\n    for (auto n : squared) {\r\n        std::cout &lt;&lt; n &lt;&lt; \" \";\r\n    }\r\n    \/\/ Cikti: 1 4 9 16 25\r\n\r\n    return 0;\r\n}<\/pre>\n<h2><span style=\"color: #0000ff;\"><strong>\u0130kili Kullan\u0131m<\/strong><\/span><\/h2>\n<p>\u0130kili kullan\u0131m i\u00e7in, iki dizinin elemanlar\u0131n\u0131n toplanmas\u0131na y\u00f6nelik bir \u00f6rnek koda ihtiyac\u0131m\u0131z oldu\u011funu d\u00fc\u015f\u00fcnelim. A\u015fa\u011f\u0131da buna y\u00f6nelik kodu bulabilirsiniz:<\/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\n\r\nint main() {\r\n    std::vector&lt;int32_t&gt; vec1 = {1, 2, 3, 4, 5};\r\n    std::vector&lt;int32_t&gt; vec2 = {10, 20, 30, 40, 50};\r\n    std::vector&lt;int32_t&gt; result(vec1.size()); \r\n\r\n    \/\/ Lambda fonksiyonu kullanarak iki vekt\u00f6r\u00fcn elemanlar\u0131n\u0131 toplayal\u0131m\r\n    std::transform(vec1.begin(), vec1.end(), vec2.begin(), result.begin(),\r\n                   [](int32_t a, int32_t b) { return a + b; }\r\n    );\r\n\r\n    \/\/ Ciktilar: 11, 22, 33, 44, 55\r\n    for (int32_t num : result) {\r\n        std::cout &lt;&lt; num &lt;&lt; \" \";\r\n    }\r\n}\r\n<\/pre>\n<p>Yukar\u0131daki lambda yerine C++ 14 ile gelen bir fonksiyon nesnesi de kullanabiliriz acaba ne? std::plus. std::plus ile lambday\u0131 hi\u00e7 yazmadan da yukar\u0131daki kodu a\u015fa\u011f\u0131daki gibi kullanabilirdik. Daha okunabilir ne dersiniz? Tabi &lt;functional&gt; ba\u015fl\u0131k dosyas\u0131n\u0131 unutmay\u0131n \ud83d\ude09<\/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\n\r\nint main() {\r\n    std::vector&lt;int32_t&gt; vec1 = {1, 2, 3, 4, 5};\r\n    std::vector&lt;int32_t&gt; vec2 = {10, 20, 30, 40, 50};\r\n    std::vector&lt;int32_t&gt; result(vec1.size()); \r\n\r\n    \/\/ Lambda fonksiyonu kullanarak iki vekt\u00f6r\u00fcn elemanlar\u0131n\u0131 toplayal\u0131m\r\n    std::transform(vec1.begin(), vec1.end(), vec2.begin(), result.begin(), std::plus&lt;&gt;());\r\n\r\n    \/\/ Ciktilar: 11, 22, 33, 44, 55\r\n    for (int32_t num : result) {\r\n        std::cout &lt;&lt; num &lt;&lt; \" \";\r\n    }\r\n}<\/pre>\n<p>Bu noktada, std::for_each ile, std::trasnform&#8217;un ne fark\u0131 var diye akl\u0131n\u0131za bir soru gelebilir hemen bakal\u0131m:<\/p>\n<ul>\n<li>std::for_each ile yeni bir dizi olu\u015fturulmaz, iki kullan\u0131m\u0131 bulunmaz,<\/li>\n<li>std::transform, fonksiyonel programlamaya daha yatk\u0131nd\u0131r ve daha fazla i\u015flev sunar,<\/li>\n<li>std::for_each performans anlam\u0131nda daha hafiftir.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>std::transform kullan\u0131rken dikkat etmeniz gereken bir tak\u0131m hususlara da burada de\u011finmek istiyorum:<\/p>\n<ul>\n<li>\u00d6ncelikle, \u00e7\u0131kt\u0131 dizisinin b\u00fcy\u00fckl\u00fc\u011f\u00fc en az girdi kadar olmal\u0131d\u0131r,<\/li>\n<li>\u0130kili kullan\u0131mda, ikinci dizinin boyutu da en az birincisi kadar olmal\u0131d\u0131r,<\/li>\n<li>Uygulanacak olan fonksiyonlar\u0131n &#8220;side-effect&#8221;&#8216;leri ya da duruma ba\u011fl\u0131 i\u015flevleri olmamal\u0131d\u0131r. Bu fonksiyonlar\u0131n uygulanma s\u0131ras\u0131 farkl\u0131 olabilir ve buna g\u00f6re \u00e7\u0131kt\u0131 de\u011fi\u015fmemelidir.<\/li>\n<\/ul>\n<p>Sonu\u00e7 olarak a\u015fa\u011f\u0131daki gibi i\u015flevleriniz i\u00e7in art\u0131k d\u00f6ng\u00fcleri kullanmadan, std::transform ile daha okunabilir kod yazabilirsiniz:<\/p>\n<ul>\n<li>Matematiksel i\u015flemler (Kare alma, negatif alma, art\u0131rma vb.),<\/li>\n<li>Metin d\u00f6n\u00fc\u015f\u00fcmleri (B\u00fcy\u00fck-k\u00fc\u00e7\u00fck harf d\u00f6n\u00fc\u015f\u00fcm\u00fc vb.),<\/li>\n<li>Birden fazla veri kayna\u011f\u0131n\u0131 i\u015flemek (\u0130ki vekt\u00f6r\u00fc toplamak vb.),<\/li>\n<li>Diziler \u00fczerinde fonksiyonel programlama yakla\u015f\u0131m\u0131yla i\u015flem yapmak.<\/li>\n<\/ul>\n<p>Konuyu kapatmadan \u00f6nce \u015fu husustan da bahsetmekte fayda var. C++ 20 ile birlikte <strong><a href=\"https:\/\/en.cppreference.com\/w\/cpp\/algorithm\/ranges\/transform\">ranges::transform<\/a><\/strong> da dile ile sunuldu ama bu konuya genel olarak ranges konusuna bakarken de\u011finece\u011fimiz i\u00e7in burada bir daha detaylar\u0131na girmedim.<\/p>\n<h2><strong><span style=\"color: #0000ff;\">Kaynaklar<\/span><\/strong><\/h2>\n<ul>\n<li><span style=\"color: #008000;\"><strong><a style=\"color: #008000;\" href=\"https:\/\/en.cppreference.com\/w\/cpp\/algorithm\/transform\">https:\/\/en.cppreference.com\/w\/cpp\/algorithm\/transform<\/a><\/strong><\/span><\/li>\n<li><span style=\"color: #008000;\"><strong><a style=\"color: #008000;\" href=\"https:\/\/www.fluentcpp.com\/2017\/02\/13\/transform-central-algorithm\/\">https:\/\/www.fluentcpp.com\/2017\/02\/13\/transform-central-algorithm\/<\/a><\/strong><\/span><\/li>\n<li><a href=\"https:\/\/youtu.be\/fi7ucoqqRfU?si=zKi78v3B7bra3Zfn\"><span style=\"color: #008000;\"><strong>https:\/\/youtu.be\/fi7ucoqqRfU?si=zKi78v3B7bra3Zfn<\/strong><\/span><\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Evet sevgili yaz\u0131l\u0131mperver dostlar\u0131m uzun bir aradan sonra nas\u0131l bir yaz\u0131 yazay\u0131m diye d\u00fc\u015f\u00fcn\u00fcrken, &#8220;blog backlog&#8221;&#8216;um da bulunan std::transform konusuna de\u011finmeye karar verdim. std::transform&#8217;a, a\u015fina olduktan sonra, \u00f6zellikle veri dizileri ile u\u011fra\u015f\u0131yorsan\u0131z, bir \u00e7ok problem i\u00e7in kullanabilece\u011finiz bir ara\u00e7 haline gelece\u011fini d\u00fc\u015f\u00fcn\u00fcyorum. O sebeple de bu yaz\u0131mda k\u0131saca farkl\u0131 kullan\u0131mlar\u0131na de\u011finece\u011fim. Peki std::transform nedir? std::transform,&#8230; <a class=\"more-link\" href=\"https:\/\/www.yazilimperver.com\/index.php\/2025\/02\/16\/haftalik-c-61-stdtransform\/\">Continue reading <span class=\"meta-nav\">&#8594;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"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":[41],"tags":[809,46,1154,1153,48],"class_list":["post-2975","post","type-post","status-publish","format-standard","hentry","category-modern-c","tag-algorithms","tag-c-11","tag-stdfor_each","tag-stdtransform","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++ 61 - std::transform - 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\/2025\/02\/16\/haftalik-c-61-stdtransform\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Haftal\u0131k C++ 61 - std::transform - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\" \/>\n<meta property=\"og:description\" content=\"Evet sevgili yaz\u0131l\u0131mperver dostlar\u0131m uzun bir aradan sonra nas\u0131l bir yaz\u0131 yazay\u0131m diye d\u00fc\u015f\u00fcn\u00fcrken, &#8220;blog backlog&#8221;&#8216;um da bulunan std::transform konusuna de\u011finmeye karar verdim. std::transform&#8217;a, a\u015fina olduktan sonra, \u00f6zellikle veri dizileri ile u\u011fra\u015f\u0131yorsan\u0131z, bir \u00e7ok problem i\u00e7in kullanabilece\u011finiz bir ara\u00e7 haline gelece\u011fini d\u00fc\u015f\u00fcn\u00fcyorum. O sebeple de bu yaz\u0131mda k\u0131saca farkl\u0131 kullan\u0131mlar\u0131na de\u011finece\u011fim. Peki std::transform nedir? std::transform,... Continue reading &#8594;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.yazilimperver.com\/index.php\/2025\/02\/16\/haftalik-c-61-stdtransform\/\" \/>\n<meta property=\"og:site_name\" content=\"Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-02-16T14:22:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/www.fluentcpp.com\/wp-content\/uploads\/2017\/02\/transform1.png?resize=548%2C241&amp;ssl=1\" \/>\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=\"4 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\/2025\/02\/16\/haftalik-c-61-stdtransform\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2025\/02\/16\/haftalik-c-61-stdtransform\/\"},\"author\":{\"name\":\"yaz\u0131l\u0131mperver\",\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb\"},\"headline\":\"Haftal\u0131k C++ 61 &#8211; std::transform\",\"datePublished\":\"2025-02-16T14:22:29+00:00\",\"dateModified\":\"2025-02-16T14:22:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2025\/02\/16\/haftalik-c-61-stdtransform\/\"},\"wordCount\":682,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb\"},\"keywords\":[\"algorithms\",\"C++ 11\",\"std::for_each\",\"std::transform\",\"STL\"],\"articleSection\":[\"Modern C++\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.yazilimperver.com\/index.php\/2025\/02\/16\/haftalik-c-61-stdtransform\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2025\/02\/16\/haftalik-c-61-stdtransform\/\",\"url\":\"https:\/\/www.yazilimperver.com\/index.php\/2025\/02\/16\/haftalik-c-61-stdtransform\/\",\"name\":\"Haftal\u0131k C++ 61 - std::transform - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/www.yazilimperver.com\/#website\"},\"datePublished\":\"2025-02-16T14:22:29+00:00\",\"dateModified\":\"2025-02-16T14:22:29+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2025\/02\/16\/haftalik-c-61-stdtransform\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.yazilimperver.com\/index.php\/2025\/02\/16\/haftalik-c-61-stdtransform\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2025\/02\/16\/haftalik-c-61-stdtransform\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Ana sayfa\",\"item\":\"https:\/\/www.yazilimperver.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Haftal\u0131k C++ 61 &#8211; std::transform\"}]},{\"@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":"Haftal\u0131k C++ 61 - std::transform - 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\/2025\/02\/16\/haftalik-c-61-stdtransform\/","og_locale":"tr_TR","og_type":"article","og_title":"Haftal\u0131k C++ 61 - std::transform - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","og_description":"Evet sevgili yaz\u0131l\u0131mperver dostlar\u0131m uzun bir aradan sonra nas\u0131l bir yaz\u0131 yazay\u0131m diye d\u00fc\u015f\u00fcn\u00fcrken, &#8220;blog backlog&#8221;&#8216;um da bulunan std::transform konusuna de\u011finmeye karar verdim. std::transform&#8217;a, a\u015fina olduktan sonra, \u00f6zellikle veri dizileri ile u\u011fra\u015f\u0131yorsan\u0131z, bir \u00e7ok problem i\u00e7in kullanabilece\u011finiz bir ara\u00e7 haline gelece\u011fini d\u00fc\u015f\u00fcn\u00fcyorum. O sebeple de bu yaz\u0131mda k\u0131saca farkl\u0131 kullan\u0131mlar\u0131na de\u011finece\u011fim. Peki std::transform nedir? std::transform,... Continue reading &#8594;","og_url":"https:\/\/www.yazilimperver.com\/index.php\/2025\/02\/16\/haftalik-c-61-stdtransform\/","og_site_name":"Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","article_published_time":"2025-02-16T14:22:29+00:00","og_image":[{"url":"https:\/\/i0.wp.com\/www.fluentcpp.com\/wp-content\/uploads\/2017\/02\/transform1.png?resize=548%2C241&amp;ssl=1"}],"author":"yaz\u0131l\u0131mperver","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"yaz\u0131l\u0131mperver","Tahmini okuma s\u00fcresi":"4 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.yazilimperver.com\/index.php\/2025\/02\/16\/haftalik-c-61-stdtransform\/#article","isPartOf":{"@id":"https:\/\/www.yazilimperver.com\/index.php\/2025\/02\/16\/haftalik-c-61-stdtransform\/"},"author":{"name":"yaz\u0131l\u0131mperver","@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb"},"headline":"Haftal\u0131k C++ 61 &#8211; std::transform","datePublished":"2025-02-16T14:22:29+00:00","dateModified":"2025-02-16T14:22:29+00:00","mainEntityOfPage":{"@id":"https:\/\/www.yazilimperver.com\/index.php\/2025\/02\/16\/haftalik-c-61-stdtransform\/"},"wordCount":682,"commentCount":0,"publisher":{"@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb"},"keywords":["algorithms","C++ 11","std::for_each","std::transform","STL"],"articleSection":["Modern C++"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.yazilimperver.com\/index.php\/2025\/02\/16\/haftalik-c-61-stdtransform\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.yazilimperver.com\/index.php\/2025\/02\/16\/haftalik-c-61-stdtransform\/","url":"https:\/\/www.yazilimperver.com\/index.php\/2025\/02\/16\/haftalik-c-61-stdtransform\/","name":"Haftal\u0131k C++ 61 - std::transform - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/www.yazilimperver.com\/#website"},"datePublished":"2025-02-16T14:22:29+00:00","dateModified":"2025-02-16T14:22:29+00:00","breadcrumb":{"@id":"https:\/\/www.yazilimperver.com\/index.php\/2025\/02\/16\/haftalik-c-61-stdtransform\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.yazilimperver.com\/index.php\/2025\/02\/16\/haftalik-c-61-stdtransform\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.yazilimperver.com\/index.php\/2025\/02\/16\/haftalik-c-61-stdtransform\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Ana sayfa","item":"https:\/\/www.yazilimperver.com\/"},{"@type":"ListItem","position":2,"name":"Haftal\u0131k C++ 61 &#8211; std::transform"}]},{"@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\/2975","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=2975"}],"version-history":[{"count":2,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/posts\/2975\/revisions"}],"predecessor-version":[{"id":2979,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/posts\/2975\/revisions\/2979"}],"wp:attachment":[{"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/media?parent=2975"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/categories?post=2975"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/tags?post=2975"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}