{"id":3157,"date":"2017-08-21T15:49:48","date_gmt":"2017-08-21T14:49:48","guid":{"rendered":"http:\/\/roboblog.fatal-fury.de\/?p=3157"},"modified":"2017-08-21T15:49:48","modified_gmt":"2017-08-21T14:49:48","slug":"c-fur-anfangerprofis-hello-world-details","status":"publish","type":"post","link":"http:\/\/roboblog.fatal-fury.de\/?p=3157","title":{"rendered":"C++ f\u00fcr Anf\u00e4nger&#038;Profis - Hello World! - Details"},"content":{"rendered":"<p>Wie anfangs erw\u00e4hnt gibt es f\u00fcr jedes Beispiel eine extra Seite mit Details. \u00dcber Performance kann ich bei einem Hello World! Programm wenig sagen, aber dennoch gibt es ein paar Sachen zu erw\u00e4hnen. Schauen wir uns den Code noch einmal an:<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\n#include &lt;iostream&gt;\r\n#include &lt;vector&gt;\r\n\r\nusing namespace std;\r\n\r\nint main() {\r\n    cout &lt;&lt; &quot;Hello World!&quot; &lt;&lt; endl;\r\n}\r\n<\/pre>\n<p>Die <em>#include<\/em> Anweisungen sind gang und g\u00e4be. Aber bald nicht mehr n\u00f6tig. Module ersetzen die uralten Proprocessor Direktiven [1].<br \/>\nDer R\u00fcckgabetyp von <em>main<\/em> ist <em>int<\/em> und nicht <em>void<\/em>! Das ist so im Standard festgelegt und war noch nie anders.<br \/>\nDie <em>main<\/em> Funktion darf keine, zwei, oder sogar drei Argumente haben. Das dritte Argument ist Compiler Implementationsabh\u00e4ngig und k\u00f6nnte zu den Umgebungsvariablen zeigen.<br \/>\n<em>cout<\/em> ist eine mit extern deklarierte globale Variable. Dabei wird doch immer gesagt, man solle so etwas nicht tun. Neben <em>cout<\/em> gibt es noch <em>wcout, cerr, wcerr, clog, wclor, cin, wcin<\/em>. Das w steht f\u00fcr <em>wide character<\/em>.<br \/>\nDie Funktion <em>endl<\/em> bewirkt nicht nur ein Zeilenumbruch, sondern auch ein flush.<br \/>\nAls einzige Funktion darf <em>main<\/em> kein <em>return<\/em> enthalten. Ist es nicht explicit enthalten, wird implicit <em>return 0<\/em> benutzt.<\/p>\n<p>[1] https:\/\/gcc.gnu.org\/wiki\/cxx-modules<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wie anfangs erw\u00e4hnt gibt es f\u00fcr jedes Beispiel eine extra Seite mit Details. \u00dcber Performance kann ich bei einem Hello World! Programm wenig sagen, aber dennoch gibt es ein paar Sachen zu erw\u00e4hnen. Schauen wir uns den Code noch einmal an: #include &lt;iostream&gt; #include &lt;vector&gt; using namespace std; int main() { cout &lt;&lt; &quot;Hello World!&quot; [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[17],"class_list":["post-3157","post","type-post","status-publish","format-standard","hentry","category-allgemein","tag-cpp"],"_links":{"self":[{"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=\/wp\/v2\/posts\/3157","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3157"}],"version-history":[{"count":1,"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=\/wp\/v2\/posts\/3157\/revisions"}],"predecessor-version":[{"id":3158,"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=\/wp\/v2\/posts\/3157\/revisions\/3158"}],"wp:attachment":[{"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3157"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3157"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3157"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}