{"id":654,"date":"2018-11-21T17:27:03","date_gmt":"2018-11-21T17:27:03","guid":{"rendered":"http:\/\/www.yazilimperver.com\/?p=654"},"modified":"2019-01-07T19:10:06","modified_gmt":"2019-01-07T19:10:06","slug":"haftalik-c-5-stdinvoke","status":"publish","type":"post","link":"https:\/\/www.yazilimperver.com\/index.php\/2018\/11\/21\/haftalik-c-5-stdinvoke\/","title":{"rendered":"Haftal\u0131k C++ 5 &#8211; std::invoke"},"content":{"rendered":"<p>Merhaba sevgili yaz\u0131l\u0131mperver dostlar\u0131m. Yine bir haftal\u0131k C++ yaz\u0131s\u0131 ile sizlerle birlikteyim. Bu yaz\u0131mda sizler ile birlikte C++ 17 ile birlikte sunulmaya ba\u015flanan <em>std::invoke()<\/em>\u00a0metoduna bir g\u00f6z ataca\u011f\u0131z.<\/p>\n<p><em>std::invoke()<\/em> metodu <em>&lt;functional&gt;<\/em> k\u00fct\u00fcphanesi ile sunulmakta. Bu metot sayesinde farkl\u0131 \u00e7a\u011fr\u0131labilir nesneler (serbest fonksiyon i\u015faret\u00e7ileri, s\u0131n\u0131f metodu i\u015faret\u00e7ileri, lambda metotlar\u0131, fonksiyon nesneler), tek bir mekanizma ile \u00e7a\u011fr\u0131labilecek. Bu sayede metot \u00e7a\u011fr\u0131lma mekanizmas\u0131 daha esnek ve standart bir \u015fekilde ger\u00e7ekle\u015ftirilebilecek. Peki bunlar\u0131 normalde nas\u0131l yap\u0131yorduk a\u015fa\u011f\u0131daki kod \u00f6rne\u011finde bunlar\u0131 g\u00f6rebilirsiniz.<\/p>\n<pre class=\"lang:c++ decode:true\">#include &lt;iostream&gt;\r\n#include &lt;functional&gt;\r\nusing namespace std;\r\n\r\n\/\/ normal fonksiyon isaretcisi kullanimi\r\n\/\/ Ornek metodumuz\r\nint exampleSquare(int arg)\r\n{\r\n    return arg*arg;\r\n}\r\n\r\n\/\/ Fonksiyon isaretcimizi tanimlayalim\r\ntypedef  int (*SquareFuncPtr)(int);\r\n\r\n\/\/ sinif metodu isaretcisi kullanimi\r\nclass ExampleClass\r\n{ \r\npublic:\r\n    int exampleSquare(int arg)\r\n    {\r\n        return arg*arg;\r\n    }\r\n};\r\n\r\n\/\/ Fonksiyon isaretcimizi tanimlayalim\r\ntypedef  int (ExampleClass::*MemberSquareFuncPtr)(int);\r\n\r\nint main()\r\n{\r\n\t\/\/ Normal fonksiyon isaretcisi kullanimi\r\n    \/\/ C++ 17 oncesi kullanim\r\n    SquareFuncPtr plainFuncPtr = &amp;exampleSquare;\r\n    cout &lt;&lt; \"Ilgili sayinin karesi: \" &lt;&lt; plainFuncPtr(2) &lt;&lt; '\\n';\r\n\r\n    \/\/ C++ 17 sonrasi kullanim\r\n    cout &lt;&lt; \"Ilgili sayinin karesi: \" &lt;&lt; invoke(&amp;exampleSquare, 2) &lt;&lt; '\\n';\r\n\r\n    \/\/ Sinif uyesi metot  isaretcisi kullanimi\r\n    ExampleClass classInstance;\r\n\r\n    \/\/ C++ 17 oncesi kullanim\r\n    MemberSquareFuncPtr memberFuncPtr = &amp;ExampleClass::exampleSquare;\r\n    cout &lt;&lt; \"Ilgili sayinin karesi: \" &lt;&lt; (classInstance.*memberFuncPtr)(3) &lt;&lt; '\\n';\r\n    \r\n    \/\/ C++ 17 sonrasi kullanim\r\n    cout &lt;&lt; \"Ilgili sayinin karesi: \" &lt;&lt; invoke(&amp;ExampleClass::exampleSquare, classInstance, 3) &lt;&lt; '\\n';\r\n \r\n    return 0;\r\n}<\/pre>\n<p>Yukar\u0131daki \u00f6rnek kodta da g\u00f6rebilece\u011finiz \u00fczere normal metotlar i\u00e7in geleneksel y\u00f6ntem \u00e7ok karma\u015f\u0131k olmasa da, \u00f6zellikle s\u0131n\u0131f \u00fcye metot i\u015faret\u00e7ileri i\u015fin i\u00e7ine girince karma\u015f\u0131kl\u0131k art\u0131yor. Bunlar\u0131n yan\u0131nda hem normal fonksiyon i\u015faret\u00e7ileri hem de s\u0131n\u0131f metot i\u015faret\u00e7ileri ile \u00e7al\u0131\u015fma ihtiyac\u0131n\u0131z oldu\u011fu durumda, her iki i\u015fi de kotarabilecek, basit ve anla\u015f\u0131l\u0131r bir aray\u00fcz sunuluyor.<\/p>\n<p>Sizlerin de anlayaca\u011f\u0131 \u00fczere, asl\u0131nda bu metodun sundu\u011fu yetene\u011fi bir \u015fekilde mevcut mekanizmalar ile (ilgili <strong><span style=\"color: #339966;\"><a style=\"color: #339966;\" href=\"https:\/\/doc.bccnsoft.com\/docs\/cppreference2015\/en\/cpp\/utility\/functional\/invoke.html\">cpp referans sayfas\u0131nda<\/a><\/span><\/strong> \u00f6rne\u011fi var) ger\u00e7ekle\u015ftirebiliyoruz. Tabiki bu <em>std::invoke()<\/em> kadar anla\u015f\u0131labilir ve basit g\u00f6r\u00fcnm\u00fcyor \ud83d\ude42<\/p>\n<p>A\u015fa\u011f\u0131da bu metodun kullan\u0131m\u0131 ile ilgili referans kaynakta verilen \u00f6rne\u011fi g\u00f6rebilirsiniz. \u00d6rnek i\u00e7erisinde <em>std::invoke()<\/em>&#8216;un kullan\u0131labilece\u011fi olas\u0131 durumlar g\u00fczel bir \u015fekilde \u00f6zetlenmi\u015f.<\/p>\n<pre class=\"lang:c++ decode:true\">#include &lt;functional&gt;\r\n#include &lt;iostream&gt;\r\n \r\nstruct Foo \r\n{\r\n    Foo(int num)\r\n     : num_(num) {}\r\n\r\n    void print_add(int i) const \r\n    {\r\n         std::cout &lt;&lt; num_+i &lt;&lt; '\\n'; \r\n    }\r\n\r\n    int num_;\r\n};\r\n \r\nvoid print_num(int i)\r\n{\r\n    std::cout &lt;&lt; i &lt;&lt; '\\n';\r\n}\r\n \r\nstruct PrintNum \r\n{\r\n    void operator()(int i) const\r\n    {\r\n        std::cout &lt;&lt; i &lt;&lt; '\\n';\r\n    }\r\n};\r\n \r\nint main()\r\n{\r\n    \/\/ Serbest metot cagrilmasi\r\n    std::invoke(print_num, -9);\r\n \r\n    \/\/ Lambda cagrilmasi\r\n    std::invoke([]() { print_num(42); });\r\n \r\n    \/\/ Sinif metodu cagrilmesi\r\n    const Foo foo(314159);\r\n    std::invoke(&amp;Foo::print_add, foo, 1);\r\n \r\n    \/\/ Sinif verisine erisim\r\n    std::cout &lt;&lt; \"num_: \" &lt;&lt; std::invoke(&amp;Foo::num_, foo) &lt;&lt; '\\n';\r\n \r\n    \/\/ Fonksiyon nesnesinin cagrilmesi\r\n    std::invoke(PrintNum(), 18);\r\n}<\/pre>\n<p>Yukar\u0131daki \u00f6rne\u011fe benzer bir \u015fekilde \u00f6zellikle &#8220;<em>observer<\/em>&#8221; ya da &#8220;<em>callback<\/em>&#8221; ya da &#8220;<em>signal\/slot<\/em>&#8221; gibi mekanizmalar i\u00e7in de kullan\u0131\u015fl\u0131 olabilir.<\/p>\n<h2><span style=\"color: #0000ff;\"><strong>Kaynaklar:<\/strong><\/span><\/h2>\n<ul>\n<li><a href=\"https:\/\/en.cppreference.com\/w\/cpp\/utility\/functional\/invoke\"><span style=\"color: #339966;\"><strong>https:\/\/en.cppreference.com\/w\/cpp\/utility\/functional\/invoke<\/strong><\/span><\/a><\/li>\n<li><a href=\"https:\/\/www.murrayc.com\/permalink\/2018\/04\/15\/c17-in-libsigc-invoke-apply-and-constexpr-if\/\"><strong><span style=\"color: #339966;\">https:\/\/www.murrayc.com\/permalink\/2018\/04\/15\/c17-in-libsigc-invoke-apply-and-constexpr-if\/<\/span><\/strong><\/a><\/li>\n<\/ul>\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>Merhaba sevgili yaz\u0131l\u0131mperver dostlar\u0131m. Yine bir haftal\u0131k C++ yaz\u0131s\u0131 ile sizlerle birlikteyim. Bu yaz\u0131mda sizler ile birlikte C++ 17 ile birlikte sunulmaya ba\u015flanan std::invoke()\u00a0metoduna bir g\u00f6z ataca\u011f\u0131z. std::invoke() metodu &lt;functional&gt; k\u00fct\u00fcphanesi ile sunulmakta. Bu metot sayesinde farkl\u0131 \u00e7a\u011fr\u0131labilir nesneler (serbest fonksiyon i\u015faret\u00e7ileri, s\u0131n\u0131f metodu i\u015faret\u00e7ileri, lambda metotlar\u0131, fonksiyon nesneler), tek bir mekanizma ile \u00e7a\u011fr\u0131labilecek. Bu&#8230; <a class=\"more-link\" href=\"https:\/\/www.yazilimperver.com\/index.php\/2018\/11\/21\/haftalik-c-5-stdinvoke\/\">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":[13,234,256,253,254,255,42,252,203,239],"class_list":["post-654","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-c","category-modern-c","tag-c","tag-c-17","tag-fonksiyon-isaretcileri","tag-functional","tag-haftalik-yazi","tag-isaretci","tag-modern-c","tag-stdinvoke","tag-weekly","tag-yapisal-baglama"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Haftal\u0131k C++ 5 - std::invoke - 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\/11\/21\/haftalik-c-5-stdinvoke\/\" \/>\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++ 5 - std::invoke[:en]Weekly C++ 5 - std::invoke[:] - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\" \/>\n<meta property=\"og:description\" content=\"Merhaba sevgili yaz\u0131l\u0131mperver dostlar\u0131m. Yine bir haftal\u0131k C++ yaz\u0131s\u0131 ile sizlerle birlikteyim. Bu yaz\u0131mda sizler ile birlikte C++ 17 ile birlikte sunulmaya ba\u015flanan std::invoke()\u00a0metoduna bir g\u00f6z ataca\u011f\u0131z. std::invoke() metodu &lt;functional&gt; k\u00fct\u00fcphanesi ile sunulmakta. Bu metot sayesinde farkl\u0131 \u00e7a\u011fr\u0131labilir nesneler (serbest fonksiyon i\u015faret\u00e7ileri, s\u0131n\u0131f metodu i\u015faret\u00e7ileri, lambda metotlar\u0131, fonksiyon nesneler), tek bir mekanizma ile \u00e7a\u011fr\u0131labilecek. Bu... Continue reading &#8594;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.yazilimperver.com\/index.php\/2018\/11\/21\/haftalik-c-5-stdinvoke\/\" \/>\n<meta property=\"og:site_name\" content=\"Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2018-11-21T17:27:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-01-07T19:10:06+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\/2018\/11\/21\/haftalik-c-5-stdinvoke\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2018\/11\/21\/haftalik-c-5-stdinvoke\/\"},\"author\":{\"name\":\"yaz\u0131l\u0131mperver\",\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb\"},\"headline\":\"Haftal\u0131k C++ 5 &#8211; std::invoke\",\"datePublished\":\"2018-11-21T17:27:03+00:00\",\"dateModified\":\"2019-01-07T19:10:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2018\/11\/21\/haftalik-c-5-stdinvoke\/\"},\"wordCount\":566,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb\"},\"keywords\":[\"c++\",\"c++ 17\",\"fonksiyon i\u015faret\u00e7ileri\",\"functional\",\"haftal\u0131k yaz\u0131\",\"i\u015faret\u00e7i\",\"Modern C++\",\"std::invoke\",\"Weekly\",\"yap\u0131sal ba\u011flama\"],\"articleSection\":[\"C++\",\"Modern C++\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.yazilimperver.com\/index.php\/2018\/11\/21\/haftalik-c-5-stdinvoke\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2018\/11\/21\/haftalik-c-5-stdinvoke\/\",\"url\":\"https:\/\/www.yazilimperver.com\/index.php\/2018\/11\/21\/haftalik-c-5-stdinvoke\/\",\"name\":\"[:tr]Haftal\u0131k C++ 5 - std::invoke[:en]Weekly C++ 5 - std::invoke[:] - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/www.yazilimperver.com\/#website\"},\"datePublished\":\"2018-11-21T17:27:03+00:00\",\"dateModified\":\"2019-01-07T19:10:06+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2018\/11\/21\/haftalik-c-5-stdinvoke\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.yazilimperver.com\/index.php\/2018\/11\/21\/haftalik-c-5-stdinvoke\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2018\/11\/21\/haftalik-c-5-stdinvoke\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Ana sayfa\",\"item\":\"https:\/\/www.yazilimperver.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Haftal\u0131k C++ 5 &#8211; std::invoke\"}]},{\"@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++ 5 - std::invoke[:en]Weekly C++ 5 - std::invoke[:] - 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\/11\/21\/haftalik-c-5-stdinvoke\/","og_locale":"tr_TR","og_type":"article","og_title":"[:tr]Haftal\u0131k C++ 5 - std::invoke[:en]Weekly C++ 5 - std::invoke[:] - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","og_description":"Merhaba sevgili yaz\u0131l\u0131mperver dostlar\u0131m. Yine bir haftal\u0131k C++ yaz\u0131s\u0131 ile sizlerle birlikteyim. Bu yaz\u0131mda sizler ile birlikte C++ 17 ile birlikte sunulmaya ba\u015flanan std::invoke()\u00a0metoduna bir g\u00f6z ataca\u011f\u0131z. std::invoke() metodu &lt;functional&gt; k\u00fct\u00fcphanesi ile sunulmakta. Bu metot sayesinde farkl\u0131 \u00e7a\u011fr\u0131labilir nesneler (serbest fonksiyon i\u015faret\u00e7ileri, s\u0131n\u0131f metodu i\u015faret\u00e7ileri, lambda metotlar\u0131, fonksiyon nesneler), tek bir mekanizma ile \u00e7a\u011fr\u0131labilecek. Bu... Continue reading &#8594;","og_url":"https:\/\/www.yazilimperver.com\/index.php\/2018\/11\/21\/haftalik-c-5-stdinvoke\/","og_site_name":"Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","article_published_time":"2018-11-21T17:27:03+00:00","article_modified_time":"2019-01-07T19:10:06+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\/2018\/11\/21\/haftalik-c-5-stdinvoke\/#article","isPartOf":{"@id":"https:\/\/www.yazilimperver.com\/index.php\/2018\/11\/21\/haftalik-c-5-stdinvoke\/"},"author":{"name":"yaz\u0131l\u0131mperver","@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb"},"headline":"Haftal\u0131k C++ 5 &#8211; std::invoke","datePublished":"2018-11-21T17:27:03+00:00","dateModified":"2019-01-07T19:10:06+00:00","mainEntityOfPage":{"@id":"https:\/\/www.yazilimperver.com\/index.php\/2018\/11\/21\/haftalik-c-5-stdinvoke\/"},"wordCount":566,"commentCount":0,"publisher":{"@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb"},"keywords":["c++","c++ 17","fonksiyon i\u015faret\u00e7ileri","functional","haftal\u0131k yaz\u0131","i\u015faret\u00e7i","Modern C++","std::invoke","Weekly","yap\u0131sal ba\u011flama"],"articleSection":["C++","Modern C++"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.yazilimperver.com\/index.php\/2018\/11\/21\/haftalik-c-5-stdinvoke\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.yazilimperver.com\/index.php\/2018\/11\/21\/haftalik-c-5-stdinvoke\/","url":"https:\/\/www.yazilimperver.com\/index.php\/2018\/11\/21\/haftalik-c-5-stdinvoke\/","name":"[:tr]Haftal\u0131k C++ 5 - std::invoke[:en]Weekly C++ 5 - std::invoke[:] - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/www.yazilimperver.com\/#website"},"datePublished":"2018-11-21T17:27:03+00:00","dateModified":"2019-01-07T19:10:06+00:00","breadcrumb":{"@id":"https:\/\/www.yazilimperver.com\/index.php\/2018\/11\/21\/haftalik-c-5-stdinvoke\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.yazilimperver.com\/index.php\/2018\/11\/21\/haftalik-c-5-stdinvoke\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.yazilimperver.com\/index.php\/2018\/11\/21\/haftalik-c-5-stdinvoke\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Ana sayfa","item":"https:\/\/www.yazilimperver.com\/"},{"@type":"ListItem","position":2,"name":"Haftal\u0131k C++ 5 &#8211; std::invoke"}]},{"@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\/654","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=654"}],"version-history":[{"count":7,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/posts\/654\/revisions"}],"predecessor-version":[{"id":832,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/posts\/654\/revisions\/832"}],"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=654"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/categories?post=654"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/tags?post=654"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}