Meinungsbilderhebung zu Variabledenklarationen
-
@Belli sagte in Meinungsbilderhebung zu Variabledenklarationen:
Wenn er Teil des Typen wäre, müsste man ja auch zwei Zeiger so deklarieren können:
T* a, b;
Kann man aber nicht ...
Deswegen und weil ich es hübscher finde b - allerdings immer nur eins je ZeileSo mach ichs auch.
Der * ist in der vorhandenen Interpretation "nur" eine Modifikation der Variable.
Anders wäre es wenn T ein Typ ist und T* ein anderer Typ. Dann würde der * zum T gehören, aber wie Belli schon schrieb, ist es so nicht
-
@It0101 sagte in Meinungsbilderhebung zu Variabledenklarationen:
@john-0 sagte in Meinungsbilderhebung zu Variabledenklarationen:
@It0101 sagte in Meinungsbilderhebung zu Variabledenklarationen:
Oh Gott... @Swordfish du willst wohl einen Religionskrieg auslösen?!
Mir ist der Stil bei anderen Projekten herzlich egal. Nur was ich wie die Pest hasse, wenn es kunterbunt gemischt ist. Sucht Euch was aus, und zieht das durch. Der ständige Wechsel erschwert die Lesbarkeit.
Wilst du damit ewta sagen, dass Picard nicht der beste Captain im StarTrek-Universum ist?!
Natürlich nicht. Der Beste ist Captain Ed Mercer.
-
@Columbo sagte in Meinungsbilderhebung zu Variabledenklarationen:
Im Uebrigen sind mehrere Deklaratoren pro Deklaration sowieso ein Tabu, ganz simple Faelle (arithmetische Typen) ausgeschlossen.
Ich mach das nichtmal da, verleitet bloss dazu zu kurze Namen zu verwenden. Und wenn man es schon zu 99% nicht macht, dann mach ich die 1% die übrig bleiben wo ich sinnvoll etwas wie
int x = expression, y = expression;
schreiben könnte (weil die kurzen Namen da voll OK sind) auch nicht.U.a. weil POLA. Wenn man mal gewohnt ist dass jede Variable in einer eigenen Zeile steht übersieht man dann schnell dass da noch ne zweite definiert wird.
-
@manni66 sagte in Meinungsbilderhebung zu Variabledenklarationen:
@It0101 sagte in Meinungsbilderhebung zu Variabledenklarationen:
@john-0 sagte in Meinungsbilderhebung zu Variabledenklarationen:
@It0101 sagte in Meinungsbilderhebung zu Variabledenklarationen:
Oh Gott... @Swordfish du willst wohl einen Religionskrieg auslösen?!
Mir ist der Stil bei anderen Projekten herzlich egal. Nur was ich wie die Pest hasse, wenn es kunterbunt gemischt ist. Sucht Euch was aus, und zieht das durch. Der ständige Wechsel erschwert die Lesbarkeit.
Wilst du damit ewta sagen, dass Picard nicht der beste Captain im StarTrek-Universum ist?!
Natürlich nicht. Der Beste ist Captain Ed Mercer.
Dem einen oder anderen auch bekannt als Seth MacFarlane
-
@It0101 sagte in Meinungsbilderhebung zu Variabledenklarationen:
Der * ist in der vorhandenen Interpretation "nur" eine Modifikation der Variable.
Und dann gibt es so schönen Code
PointerT a, b, c, d;
Wo alle Variablen den gleichen Typ haben.
-
Immer a) seit ein paar Jahren. Das hab ich mir so angewöhnt und bin von b) umgestiegen. c) fand ich schon immer schweitzer Käse.
Aber generell kann auch ich mit allen Schreibweisen leben. Sollte man auch.
Aufeinanderfolgende Referenzen in einer Deklaration gabs bei mir richtig selten. Würde aber nach dem gleichen Schema verfahren.
-
@john-0 sagte in Meinungsbilderhebung zu Variabledenklarationen:
@It0101 sagte in Meinungsbilderhebung zu Variabledenklarationen:
Der * ist in der vorhandenen Interpretation "nur" eine Modifikation der Variable.
Und dann gibt es so schönen Code
PointerT a, b, c, d;
Wo alle Variablen den gleichen Typ haben.
Klar. Da ist ja auch kein Asterisk, Du Schlauberger.
-
@Columbo er meint mit PointerT als typedef.
-
@Swordfish Das habe ich begriffen. Es ist trotzdem irrelevant. Weil in dieser Deklaration kein Asterisk vorkommt.
-
-
@Columbo sagte in Meinungsbilderhebung zu Variabledenklarationen:
Klar. Da ist ja auch kein Asterisk, Du Schlauberger.
Aber der Asterisk versteckt sind im typedef!
-
@john-0 sagte in Meinungsbilderhebung zu Variabledenklarationen:
@Columbo sagte in Meinungsbilderhebung zu Variabledenklarationen:
Klar. Da ist ja auch kein Asterisk, Du Schlauberger.
Aber der Asterisk versteckt sind im typedef!
Ja, und das tut man nicht.
-
-
@Th69 Dieses typedef war mal eine Anforderung an Container. Scheint es im aktuellen Draft nicht mehr zu sein.
-
@Swordfish sagte in Meinungsbilderhebung zu Variabledenklarationen:
Ja, und das tut man nicht.
Es ist eine seit Jahrzehnten praktizierte Technik in C und C++, und wird in C++17 noch immer genutzt.
-
@john-0 Quelle.
In Wald und Wiesen-Code tut man es auf jeden Fall nicht.
-
LPVOID
Im Ernst, ich seh das öfter als mir lieb ist, dass Leute für Zeigertypen Typaliases definieren, jedes
Foo
kriegt seintypedef Foo* PFoo
. Ich denke man kann sich da bei Niklaus Wirth bedanken.
-
@Bashar Ja, und die UN werden wir auch im Leben nimmer los. Deswegen sagte ich ja "man tut es nicht" und nicht "niemand tut es" ^^
-
@Bashar sagte in Meinungsbilderhebung zu Variabledenklarationen:
LPVOID
Im Ernst, ich seh das öfter als mir lieb ist, dass Leute für Zeigertypen Typaliases definieren, jedes
Foo
kriegt seintypedef Foo* PFoo
. Ich denke man kann sich da bei Niklaus Wirth bedanken.Ich finde das ehrlich gesagt auch schlimm. Bei der Deklaration einer Variablen sollte dem Leser sofort klar sein ob es ein Pointer ist oder nicht.
-
@Swordfish sagte in Meinungsbilderhebung zu Variabledenklarationen:
@john-0 Quelle.
In Wald und Wiesen-Code tut man es auf jeden Fall nicht.In dem solltest Du auch überhaupt keine normalen Zeiger mehr nutzen. Nur gibt es massenweise APIs, in denen das nicht funktioniert. Zudem ist die ISO Norm inkonsequent, weil etwa OpenMP (das wird aber ebenfalls laufend aktualisiert) und mordernes C++ zusammen gar nicht funktioniert. OpenMP Parallelisierung und moderne Containerdesigns – geht nicht. Es muss die klassische for-Schleife sein. OpenMP bietet eine Möglichkeit Offloading auf GPUs zu machen, da brauchst Du wieder rohe Zeiger usw. usw. …