{"id":148,"date":"2011-07-30T14:14:14","date_gmt":"2011-07-30T14:14:14","guid":{"rendered":"http:\/\/piatkosia.k4be.pl\/wordpress\/?p=148"},"modified":"2011-12-30T02:05:36","modified_gmt":"2011-12-30T02:05:36","slug":"wtf-czyli-filozofowanie-nt-c","status":"publish","type":"post","link":"https:\/\/piatkosia.k4be.pl\/wordpress\/2011\/07\/30\/wtf-czyli-filozofowanie-nt-c\/","title":{"rendered":"wtf czyli filozofowanie nt. c++"},"content":{"rendered":"<p>Dobra. Jaki\u015b czas mnie nie by\u0142o, mo\u017ce zaczn\u0119 wi\u0119c od kr\u00f3tkiego co u mnie. Jaki\u015b tydzie\u0144 temu wysz\u0142am z do\u0142ka i nadrabiam zaleg\u0142o\u015bci, poza tym semestr zako\u0144czy\u0142am bez poprawki, z wynikiem &#8222;do przyj\u0119cia&#8221;, cho\u0107 mog\u0142o by\u0107 lepiej.<br \/>\nTak si\u0119 ostatnio bawi\u0119 kodem, bo mi si\u0119 nudzi. Nie wychodzi z tego zbyt wiele, ale zawsze co\u015b. Jestem z natury &#8222;filozofk\u0105&#8221;, chcia\u0142am zobaczy\u0107, czy przypadkiem programowanie c-like nie jest w cpp tylko jako nak\u0142adka dla wstecznej kompatybilno\u015bci. W jaki spos\u00f3b szuka\u0142am tego dziwnego &#8222;czego\u015b&#8221;? Szuka\u0142am obiektowo\u015bci tam, gdzie wg j\u0119zyka C nie powinno jej by\u0107, a mianowicie w interpretowaniu jako klas typ\u00f3w wbudowanych, struktur i unii.<br \/>\n<!--more--><br \/>\n<strong>Typy wbudowane<\/strong><br \/>\nTak, da si\u0119 je powo\u0142a\u0107 do \u017cycia u\u017cywaj\u0105c konstruktora z jednym parametrem (mo\u017ce nawet wi\u0119cej, ale nie wiem, czym by one by\u0142y) np. int test(15); przejdzie tak, jakby to by\u0142o int test = 15. Przez chwil\u0119 my\u015bla\u0142am, \u017ce ten nowy zapis jest szybszy. Przy wi\u0119kszej ilo\u015bci pr\u00f3b odpalenia programiku (prostego) wysz\u0142o, \u017ce niekoniecznie. Jest to raczej loteria.<\/p>\n<p><strong>Struktury<\/strong><br \/>\nSkomentuj\u0119 to tak, jak wyczyta\u0142am. Obecnie struktura r\u00f3\u017cni si\u0119 od klasy tym, \u017ce przy kontroli dost\u0119pu w klasie mamy private przez domniemanie, a w strukturze public. Hmm, mo\u017ce unie s\u0105 protected:p<\/p>\n<p><strong>Unie<\/strong> (taaa, moje kochane unie. Wk\u0142adasz kota wyci\u0105gasz sier\u015b\u0107, lub konserw\u0119 z kota, lub&#8230; kota)<\/p>\n<p>Nie szuka\u0142am co jest w unii przez domniemanie, ale chocia\u017c unia mo\u017ce pomie\u015bci\u0107 jeden element, to r\u00f3wnie\u017c mamy tu kontrol\u0119 dost\u0119pu, baaa nawet mo\u017cna napisa\u0107 sobie konstruktor, destruktor czy metody do operowania na tych danych. Nawet mo\u017cemy sobie poprzeci\u0105\u017ca\u0107 operatory. Ci\u0119\u017cko mi sobie wyobrazi\u0107 zastosowanie tego w praktyce, ale kto wie;)<\/p>\n<p>Metody w unii deklarujemy i definiujemy w taki sam spos\u00f3b, jak w klasie (taaa unia::metoda(parametry){co\u015btam;} przechodzi).<br \/>\nTak czy inaczej, to tylko ciekawostka. Nie potrafi\u0119 nawet wymy\u015bli\u0107 przyk\u0142adowego u\u017cycia.<br \/>\nale taki kod:<\/p>\n<pre class=\"brush:cpp\">union bla{\r\nprivate:\r\n\tint a;\r\n\tchar[2] b;\r\npublic:\r\n\tbla(int q);\r\n\tbla(*char w);\r\n\t~bla();\r\n\tint czytaj_inta();\r\n};<\/pre>\n<p>prawdopodobnie po zdefiniowaniu tych funkcji by przeszed\u0142.<\/p>\n<p>Czy wi\u0119c w c++ zapis c-like jest nak\u0142adk\u0105? A mo\u017ce odwrotnie? Hmm, i tak p\u00f3jdzie wszystko do asma.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dobra. Jaki\u015b czas mnie nie by\u0142o, mo\u017ce zaczn\u0119 wi\u0119c od kr\u00f3tkiego co u mnie. Jaki\u015b tydzie\u0144 temu wysz\u0142am z do\u0142ka i nadrabiam zaleg\u0142o\u015bci, poza tym<\/p>\n<div class=\"more-link-wrapper\"><a class=\"more-link\" href=\"https:\/\/piatkosia.k4be.pl\/wordpress\/2011\/07\/30\/wtf-czyli-filozofowanie-nt-c\/\">Lecim dalej<span class=\"screen-reader-text\">wtf czyli filozofowanie nt. c++<\/span> <i class=\"fas fa-angle-right\"><\/i><\/a><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[50,8,49,24],"tags":[211,32,38,206,44],"class_list":["post-148","post","type-post","status-publish","format-standard","hentry","category-c","category-filozofia","category-programowanie","category-techniczne","tag-c","tag-glupoty","tag-kodowanie","tag-pomysly","tag-program","entry"],"_links":{"self":[{"href":"https:\/\/piatkosia.k4be.pl\/wordpress\/wp-json\/wp\/v2\/posts\/148","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/piatkosia.k4be.pl\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/piatkosia.k4be.pl\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/piatkosia.k4be.pl\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/piatkosia.k4be.pl\/wordpress\/wp-json\/wp\/v2\/comments?post=148"}],"version-history":[{"count":7,"href":"https:\/\/piatkosia.k4be.pl\/wordpress\/wp-json\/wp\/v2\/posts\/148\/revisions"}],"predecessor-version":[{"id":150,"href":"https:\/\/piatkosia.k4be.pl\/wordpress\/wp-json\/wp\/v2\/posts\/148\/revisions\/150"}],"wp:attachment":[{"href":"https:\/\/piatkosia.k4be.pl\/wordpress\/wp-json\/wp\/v2\/media?parent=148"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/piatkosia.k4be.pl\/wordpress\/wp-json\/wp\/v2\/categories?post=148"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/piatkosia.k4be.pl\/wordpress\/wp-json\/wp\/v2\/tags?post=148"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}