{"id":778,"date":"2015-10-27T15:32:21","date_gmt":"2015-10-27T15:32:21","guid":{"rendered":"http:\/\/coolt.ch\/notizen\/?p=778"},"modified":"2015-12-28T14:58:18","modified_gmt":"2015-12-28T14:58:18","slug":"c-schuetzen-des-objekts-vektor-per-reference","status":"publish","type":"post","link":"https:\/\/coolt.ch\/notizen\/c-schuetzen-des-objekts-vektor-per-reference\/","title":{"rendered":"C++: Vektor per (const) reference"},"content":{"rendered":"<p>Es gibt zwei Prinzipien, wie man Vektoren (grosse Wertetabellen) \u00fcbergeben kann:<br \/>\n1. Man will die Werte &#8222;nur&#8220; verarbeiten. Die Tabelle bleibt gleich.<br \/>\n2. Man will Werte in der Tabelle \u00e4ndern.<\/p>\n<p><strong>Werte nicht \u00e4ndern<\/strong><br \/>\nWird ein <a href=\"http:\/\/coolt.ch\/notizen\/c-vector\/\">Vektor per <strong>const<\/strong> Referenz<\/a> \u00fcbergeben <span class=\"lang:sh decode:true crayon-inline\"><strong>const<\/strong> vector &lt;type&gt;&amp; &lt;name&gt;<\/span>\u00a0, so ver\u00e4ndert man aufgrund des <strong>Schl\u00fcsselwortes const<\/strong> die Eintr\u00e4ge nicht (Bjarne 8.5.4). Anstatt per Referenz kann man die Werte auch <a href=\"http:\/\/coolt.ch\/notizen\/per-reference-c-c\/\">traditionell per Pointer <\/a>(per Adresse) \u00fcbergeben, ebenfalls mit const.<\/p>\n<p><strong>Werte ver\u00e4ndern<\/strong> (Bjarne 8.5.5)<br \/>\nIst das Ziel, die Eintr\u00e4ge zu \u00e4ndern, so tut man dies z. B. so:<\/p>\n<pre class=\"lang:sh decode:true\">void init(vector &lt;int&gt; v){\r\n.  \/\/\r\n}<\/pre>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/p>\n<p><strong><a href=\"http:\/\/coolt.ch\/notizen\/pointers-in-c\/\">Adresse erhalten<\/a><\/strong><\/p>\n<pre class=\"lang:sh decode:true\">int i = 5;\r\n\r\n\/\/ <strong>Variable f\u00fcr Adresse<\/strong>\r\nint* adresse;\r\n\r\nadresse = &amp;i;      \/\/ die Adresse von i wird \u00fcbergeben<\/pre>\n<div class=\"crayon-line crayon-striped-line\"><\/div>\n<p><strong><a href=\"http:\/\/coolt.ch\/notizen\/pointers-in-c\/\">Aus einer Adress-Variable einen Wert auselesen<\/a><\/strong><\/p>\n<pre class=\"lang:sh decode:true \">int value_1;\r\nvalue_1 = * adresse;<\/pre>\n<p>&nbsp;<\/p>\n<p>..<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Es gibt zwei Prinzipien, wie man Vektoren (grosse Wertetabellen) \u00fcbergeben kann: 1. Man will die Werte &#8222;nur&#8220; verarbeiten. Die Tabelle bleibt gleich. 2. Man will Werte in der Tabelle \u00e4ndern. Werte nicht \u00e4ndern Wird ein Vektor per const Referenz \u00fcbergeben const vector &lt;type&gt;&amp; &lt;name&gt;\u00a0, so ver\u00e4ndert man aufgrund des Schl\u00fcsselwortes const die Eintr\u00e4ge nicht (Bjarne &hellip; <a href=\"https:\/\/coolt.ch\/notizen\/c-schuetzen-des-objekts-vektor-per-reference\/\" class=\"more-link\"><span class=\"screen-reader-text\">C++: Vektor per (const) reference<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[29,65],"tags":[72],"_links":{"self":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts\/778"}],"collection":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/comments?post=778"}],"version-history":[{"count":7,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts\/778\/revisions"}],"predecessor-version":[{"id":1043,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts\/778\/revisions\/1043"}],"wp:attachment":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/media?parent=778"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/categories?post=778"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/tags?post=778"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}