C++: Benennung von Updates

OP #6791410
Lesenswert?
• ▲
▼
Hallo zusammen,

wenn man mit zeitveränderlichen Daten arbeitet, hat man ja öfter Update 
der Form:
1
delta = this - last;
oder
1
delta = new - this;
Unter Matlab, Simulink und C macht das keine Probleme. Unter C++ sind 
davon zwei reservierte Schlüsselwörter. Wie nennt man diese Idiome 
üblicherweise unter C++? (Ich finde gerade keinen 
Regelungstechnik-Quellcode in C++, wo man soetwas abgucken kann.)
Beitrag #6791419 wurde von einem Moderator gelöscht.
#6791427
Lesenswert?
• ▲
▼
Hi,

ja,
"new" ist ein Schlüsselwort bzw. ein Operator und
"this" ist die Bezeichnung für den Zeiger auf das Objekt der Klasse in 
der man sich gerade befindet (oder so ähnlich).

Ob man etwas in Büchern zu der typischen Schreibweise von Differenzen 
bzw. Differenzwerten finden, weiß ich nicht.

Ich schreibe meistens so etwas wie:
1
auto const diff = current_value - last_value;
oder auch gerne
1
auto const diff = current - last;
wenn es sich um aufsteigende Werte handelt.

Gruß
Daniel
Gast #6791430
Lesenswert?
• ▲
▼
Also bei mir lautete ein aktueller Wert noch in keiner 
Programmiersprache "this". Ist so exakt in der Beschreibung wie "xxx".
Auch "new" ist mir zu schwammig.

Wie wäre z.B.
1
delta = currentTemperature - previousTemperature;
OP #6791438
Lesenswert?
• ▲
▼
Gefühlt habe ich "current" immer als Intervall zwischen "this" und 
"last" genutzt, aber das ist wohl einfach nur eine Angewohnheit.

Wahrscheinlich ist "current - last" eine gute Kombination. Ich muß mich 
mal an den Gedanken gewöhnen. Für den Muttersprachler wäre 
wahrscheinlich "current - previous" geläufiger.
#6791996
Lesenswert?
• ▲
▼
Walter T. schrieb:
> wenn man mit zeitveränderlichen Daten arbeitet, hat man ja öfter Update
> der Form:
> delta = this - last;
> oder
> delta = new - this;
> Unter Matlab, Simulink und C macht das keine Probleme. Unter C++ sind
> davon zwei reservierte Schlüsselwörter. Wie nennt man diese Idiome
> üblicherweise unter C++?

Man benennt sie mit einem bezeichnenden Namen. "last" ist übersetzt 
"leztes", aber das letzte WOVON? Wenn es sich beispielsweise um eine 
Geschwindigkeit handelt, sind es eben "lastSpeed" oder "previousSpeed" 
und "currentSpeed" oder einfach "speed". Damit ergeben sich auch keine 
Probleme mit Schlüsselwörtern, selbst wenn du es newSpeed oder thisSpeed 
nennen willst.
"this" würde ich aber sowieso nicht nehmen, weil das Wort keinen 
zeitlichen Bezug angibt.
Gast #6792019
Lesenswert?
• ▲
▼
Man kann aber auch aus allem ein Problem machen. Namen sind doch 
letzendlich Schall und Rauch.

Rolf hat allerdings einen guten Vorschlag gemacht und so ähnlich mache 
ich das auch.  Wenn's etwas allgemeiner sein soll, dann ersetzte in 
Rolf's Beispiel das Speed durch Value, also z.B. lastValue.

Offensichtlich will der TO Kompatibilität zu altem/vorhandenem Quellcode 
haben und ähnliche Bezeichner benutzen.
Soweit ich mich entsinne ist auch C++ casesensitive, was spricht also 
dagegen den Variablennamen anders als das C++ Schlüsselwort zu 
schreiben, z.B. NEW, THIS, LAST etc. etc.. Der Phantasie sind da ja 
keine Grenzen gesetzt, solange man nicht ein Schlüsselwort der 
Programmiersprache benutzt. Ob's am Ende schön ist ist eine andere 
Sache.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.