Man könnte es vielleicht eher so formulieren: Bei Referenzen wird nicht auf zur Kompilerzeit unbekannte Speicherbereiche zugegriffen.
Man kommt bei C++ sicher gut ohne Pointer aus. Häufig braucht man sie aber beim Nutzen von C-Libraries.
Man könnte es vielleicht eher so formulieren: Bei Referenzen wird nicht auf zur Kompilerzeit unbekannte Speicherbereiche zugegriffen.
Man kommt bei C++ sicher gut ohne Pointer aus. Häufig braucht man sie aber beim Nutzen von C-Libraries.
Ich habe C++ mit Hilfe von "Der C++ Programmierer" von Breymannn gelernt.
Es gibt sogar noch mehr Varianten, Move Semantic mittels && zum Beispiel.Und dann habe ich auch gleich noch eine Frage:
Wenn ich einer Methode Variablen übergebe dann habe ich ja mehrere Möglichkeiten das zu machen:
1. void test (Object obj )
2. void test (Object& obj)
3. void test (Object* obj)
So wie ich das verstanden habe führt * dazu das nur eine Kopie des Objekts übergeben wird und bei & das Original? Dann wäre aber die Frage was der Unterschied zwischen 1 und 2 ist?
Gab ja jetzt schon ein Erklärungen zu oben. Aber noch ein paar Bemerkungen von mir:
- Verwende Zeiger, wenn auch der Nullzeiger ein gültiger (und sinnvoller) Wert sein kann. (Wobei mit C++17 kommt eine bessere Alternative.)
- Andernfalls verwende Referenzen.
- Wenn du nicht willst, dass das Objekt verändert werden soll, setze const davor, also zum Beispiel void test(const Object& x).
- Werttypen wie int, double usw. stets per Wert übergeben, also nicht als Referenz oder als Zeiger.
Mit der letzten Bemerkung hast du allerdings "output parameter" unterschlagen.
Danke dir, ich hab mich jetzt vorerst auch mal für die alles speichern Option entschieden. Ich denke mal, dass auf dem Handy genug Speicher dafür vorhanden sein sollte. (Speichert man halt 10 Bilder weniger ab, dann sollte mehr als genug Speicherplatz frei sein)
Warum Handy? Zum einen möchte ich meine Exceldatei verbessern und im Zuge dessen auch mehr Analysetools einbauen, zum zweiten komme ich öfter mal auf das Gespräch Dividenden und würde gerne die Ergebnisse zeigen. Drittens: Möchte ich eine App programmieren
Generell sehe ich die Auszahlungsdaten auch nicht wirklich als potentielle Sicherheitslücke an (sagen ja nicht aus, dass das Geld auch tatsächlich verfügbar ist), aber ich habe vor, später auch eine Login-Maske oder ähnliches als Möglichkeit anzubieten. Da es aber zuerst um mein Bedürfnis geht, steht das hinten an. Mir ist es relativ egal, ob jemand weiß, wv ich durch Dividenden erhalte. Ich würds ihm ja auch so erzählen
|學而不思則罔,思而不學則殆。 ~ 孔子|
| Lernen ohne zu denken ist sinnlos, denken ohne zu lernen gefährlich. ~ Kong Zi |
| During times of universal deceit, telling the truth becomes a revolutionary act ~ George Orwell |
SdM Dez16 - XCOM2 Make Humanity Great again
Referenzen auf dynamische allokierte Objekte sind ganz normal moeglich, z.B. take_by_ref(*this). Man kann sich mit Referenzen auch genauso schoen in den Fuss schiessen im Bezug auf object lifetime wie mit pointern. Was man mit ner Referenz nicht machen kann ist pointerarithmetik und assigment. Das sieht Anfangs sicherer aus als es ist.
Raw pointer in reinem C++ haben auch valide Einsatzbereiche, z.B. wenn dynamische Zuweisbarkeit notwendig ist und keine ownership-Semantik vorliegt. Oder als optionale Referenzparameter pre-C++17 bzw. wenn man keine Lust auf std::optional<std::reference_wrapper<T>> hat.
Achtung Spoiler:
Ich denke, die Formulierung ist unglücklich - mit unbekannte Speicherbereiche ist null und späteres reassignment zu Speicherbereichen, die zur Zeit der Initialisierung der Referenz nicht bekannt (... existierend, genutzt, was auch immer ein besseres Wort wäre - die passendste Aussage wäre wohl "andere Speicherbereiche") sind, gemeint.
Halt eher in der Art "Referenzen sind immer mit einem bekannten/bestimmten Speicherbereich verbunden". ... wobei die Formulierung auch nicht wirklich schön ist.
Was ich ja immer lustig fand waren nicht-initialisierte primitive Datentypen, z.B. int. Wo dann irgendwas drin steht, wenn man sich nicht so auskennt dauert es ziemlich bis man dem auf die Schliche kommt.
Aktuell: [18] - Bringt die Pfeffersäcke über Land - Deutschland CPL
Letzte Stories: PBC 6 - Skythische Koreaner in stürmischen Schlachten, PBC 7 - Arabische Piraten auf allen sieben Weltmeeren , PBEM 42 Koggen und Kanonen, PBEM 39 Savoir Vivre für die Alliierten , PBEM 24: Der Große Vaterländische Krieg, PBEM 18: Nobody Expects The Spanish Hamburger
Am besten bei jedem Debug-Versuch etwas anderes und jedes mal etwas, das im Programmkontext in einem vernünftigen Wertebereich liegt.
Verstand op nul, frituur op 180.
Eigentlich ne simple Frage... aber ich steh aufm Schlauch:
Ich muss eine Exceltabelle anfertigen, da Word dieses Layout nicht unterstützt. Sie ist sehr individuell.
Jedoch taucht da auch längerer Text auf. Wie wird er mir angezeigt? Zeilenumbruch hab ich aktiviert. Dies führte jedoch nicht dazu, das der Text auch angezeigt wird. Also habe ich die automatische Zellenhöhe aktiviert. Doch dies hatte keinerlei Auswirkungen.
Der Zeilenumbruch passt, wenn ich die Zellen manuell nach unten ziehe, sind Umbrüche da. Nur wie bring ich Excel dazu das automatisch zu machen? Ich habe keine Lust das jedesmal manuell anzupassen.
Komplexe Layouts machst du besser mit einem geeigneten Programm Latex, InDesign, Publisher...
Aktuell: [18] - Bringt die Pfeffersäcke über Land - Deutschland CPL
Letzte Stories: PBC 6 - Skythische Koreaner in stürmischen Schlachten, PBC 7 - Arabische Piraten auf allen sieben Weltmeeren , PBEM 42 Koggen und Kanonen, PBEM 39 Savoir Vivre für die Alliierten , PBEM 24: Der Große Vaterländische Krieg, PBEM 18: Nobody Expects The Spanish Hamburger
Welches Excel hast du denn? Bei mir im 2010er klappt der Zeilenumbruch ohne Probleme
Ganze Tabelle markiert, Rechtsklick Zellen formatieren --> Ausrichtung --> Zeilenumbruch Haken setzen fertig
Das einzige was nicht ganz automatisch läuft ist, wenn man die Spaltenbreite anschließend ändert oder Text löscht. Dann musste ich ein anderes Element in der Zeile/Saplte ebenfalls ändern bevor es angepasst wurde
Edit: Hab noch eine andere Lösung, wenn du Excel 2013+ hast: Einmal ganze Tabelle markieren, unter Start im Bereich "Zellen" Format anklicken und dort Zeilenhöhe automatisch anpassen auswählen.
http://tipps.computerbild.de/softwar...en-306699.html
Edit2: Noch eine Lösung wäre VBA-Programmierung mit folgendem Makro: (Keine Garantie meinerseits, hab ich jetzt nur auf die schnelle gefunden. Eigentlich sollten die ersten 2 Methoden bei jedem neueren Excel zielführend sein)
Private Sub Worksheet_Change(ByVal Target As Range)
Target.EntireRow.AutoFit
Target.EntireColumn.AutoFit '/Optional/
End Sub
https://groups.google.com/forum/#!to...el/YMv7EVdguRg
https://msdn.microsoft.com/de-de/lib...ffice.14).aspx
Geändert von Gobl (14. Dezember 2017 um 01:41 Uhr)