Du bist nicht angemeldet.

Werbeanzeige

DeKugelschieber

Community-Fossil

Beiträge: 2 668

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

721

15.06.2016, 15:48

Nee wenn der von mir wäre... naja.
Für vernünftiges Refactoring fehlt die Zeit, daher werde ich nicht die Optional.map einbauen, aber interessant zu sehen wie viele Hilfsmittel es in Java gibt, um um die null ptr Designschwäche herumzuprogrammieren. Anderes highlight dazu ist auch gerade JPA mit Hybernate... :vain:

Der Beitrag von »LetsGo« (15.06.2016, 19:34) wurde vom Benutzer »David Scherfgen« gelöscht (18.08.2019, 15:20).

DeKugelschieber

Community-Fossil

Beiträge: 2 668

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

723

15.06.2016, 20:39

Für unser Produkt macht das absolut Sinn. Aber schön find ichs auch nicht.

724

19.06.2016, 16:06

Finde das immer noch amüsant im WinNT.h

C-/C++-Quelltext

1
2
3
4
5
#define VOID void
typedef char CHAR;
typedef short SHORT;
typedef long LONG;
typedef int INT;

Kommt wohl noch von der Zeit wo es noch kein Syntax-Highlighting gab?
Oder

Quellcode

1
#ifndef NDEBUG

725

21.06.2016, 10:38

Aus der STL (VS Impl.):

Quellcode

1
++this->_Mysize();


Ist eventuell tatsächlich gar nicht sooo WTF; aber habe noch nie gesehen, dass jemand wirklich am this pointer herumschraubt bzw. gesehen schonmal, aber prinzipiell immer gelernt das das Müll ist und man das nicht macht.

Tobiking

1x Rätselkönig

  • Private Nachricht senden

726

21.06.2016, 10:53

Der -> Operator hat eine höhere Priorität als das Pre-Inkrement. Dort steht praktisch also ++(this->Mysize()); und bezieht sich somit auf den Rückgabewert und nicht auf das this. Unschön ist es aber trotzdem, wenn man die Prioritäten Nachschlagen oder wissen muss um einen Ausdruck zu verstehen.

drakon

Supermoderator

Beiträge: 6 523

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

727

21.06.2016, 12:19

Finde das immer noch amüsant im WinNT.h

C-/C++-Quelltext

1
2
3
4
5
#define VOID void
typedef char CHAR;
typedef short SHORT;
typedef long LONG;
typedef int INT;

Kommt wohl noch von der Zeit wo es noch kein Syntax-Highlighting gab?
Oder

Quellcode

1
#ifndef NDEBUG

Liegt eher an der Möglichkeit da dann Datentypen auszutauschen. CHAR könnte z.B. auch als unit8 implementiert werden oder so. Das ist wichtig weil der Code sich da allenfalls darauf verlässt, dass ein CHAR immer 8 bit gross ist. Je nach System, wo es dafür kompiliert wird kann es sein, dass ein char grösser ist. Insbesondere bei int ist dies auch wirklich zum tragen gekommen.

728

21.06.2016, 23:09

Aber man sollte das eh nicht nehmen, da die "typedef long LONG;" beim gcc mit 64-Bit Architektur dann 64-Bit hat.
Am Besten man nimmt die vom Standard: uint_least8_t, uint_least16_t usw. wenn man mit Architekturen mit ungleich 8 Bit Bytes arbeitet oder das kleinste Wort 32-Bit hat und andere Derivate. Ansonsten nehme ich uint8_t, uint16_t, int8_t, int16_t ... bzw. uint_fast8_t, int_fast8_t usw.
Aber bei MS war ja bis mindestens VS2008 dieser Standard nicht enthalten.
War schon seit C99 Standard, haben die meisten Compilerhersteller dabei, ausser einen, der sogar behauptet er habe einen Standard Compiler (vermutlitsch C95 aber immerhin und das noch im Jahr 2008 :))

Aber jetzt gerade passiert:

C-/C++-Quelltext

1
2
3
4
5
6
{
  int i = ui.cbMultiSamplingQuality->currentIndex();
  if(i < 0)
    i = 0;
  return 0;
}

729

23.06.2016, 19:12

Quellcode

1
for (int l = 1; i < 32 * 8 * 32; ++l)

Finde den Fehler...
Cube Universe
Entdecke fremde Welten auf deiner epischen Reise durchs Universum.

m3xx

Alter Hase

Beiträge: 438

Beruf: Student

  • Private Nachricht senden

730

23.06.2016, 19:20

toll wenn ich i prüfe, aber l inkrementiere :D

Werbeanzeige