Jammer-Thread

Hier kann über allgemeine Themen diskutiert werden, die sonst in kein Forum passen.
Insbesondere über Szene, Games, Kultur, Weltgeschehen, Persönliches, Recht, Hard- und Software.

Re: Jammer-Thread

Beitragvon MasterQ32 » 02.05.2017, 23:34

Bringt mir wenig, ich habe das Spiel unter Wine installiert ^^
Duct tape is like the force. It has a light side, a dark side, and it holds the world together.
Benutzeravatar
MasterQ32
Felix Queißner
Establishment
 
Beiträge: 1176
Registriert: 07.10.2012, 14:56

Re: Jammer-Thread

Beitragvon TDK » 05.05.2017, 00:12

Achtung, Wespennest!

"I confirm, so far, no matters the order of the elements and attempts to tame the alignment, i either get a validation error or a pure access violation in d3d..."

/Zp:16
Bild

Übrigens werden im Stream auch Pointer geschrieben.
Ist Direct3D 12 "dadrunter" wirklich so grausig implementiert?
TDK
 
Beiträge: 50
Registriert: 06.04.2012, 11:15

Re: Jammer-Thread

Beitragvon Krishty » 05.05.2017, 11:08

„Dadrunter?” Ist da nicht bloß der Grafiktreiber?

————

Bild
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6588
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: Jammer-Thread

Beitragvon Jonathan » 09.05.2017, 19:26

Es gibt in C++ keine Möglichkeit, eine formatierte Uhrzeit anzuzeigen. WTF???

Was ich damit meine ist modernes, funktionierendes, threadsicheres C++. Sollte ja keine überzogene Forderung sein. Denkt man.

Mit std::chrono::system_clock::now() bekommt man einen Zeitstempel. Damit kann man schön Differenzen ausrechnen und von Millisekunden nach Minuten konvertieren und alles. Aber man kann es nicht als Uhrzeit (z.B. 17:45:13) anzeigen. Was man relativ schnell findet, wenn man danach sucht, ist eine Lösung wie die hier:
Code: Ansicht erweitern :: Alles auswählen
auto now_c = std::chrono::system_clock::to_time_t(now);
std::cout << std::put_time(std::localtime(&now_c), "%c") << '\n';

Oh, und ja, man muss das in zwei Zeilen schreiben, wegen tollen Pointer Interfaces und so. Nun habe ich das auch so implementiert und es hat nicht funktioniert. Es wurde für verschiedene Zeitstempel die selbe Ausgabe generiert. Lange Zeit später fand ich dann heraus, dass localtime nicht threadsafe ist (interne Buffer). Und es gibt in C++ auch keine threadsichere Variante davon, sondern nur Compilererweiterungen die vielleicht funktionieren, vielleicht auch nicht. In C11 hingegen gibt es eine threadsichere Variante, die man benutzen kann. Quelle.
Die dort verlinkte Zusatzbibliothek sieht zwar nett aus, compiliert aber leider unter meinem VS2013 nicht. Und boost wollte ich nicht unbedingt einbinden. Letztendlich habe ich also folgenden Code selber geschrieben:

Code: Ansicht erweitern :: Alles auswählen
std::string FormatTime(std::chrono::system_clock::time_point time)
{
        auto ctime = std::chrono::system_clock::to_time_t(time);
        tm b;
        localtime_s(&b, &ctime);
        std::stringstream ss;
        ss  << std::setfill('0') << 1900+b.tm_year << "-" << std::setw(2) << b.tm_mon+1 << "-" << std::setw(2) << b.tm_mday << " " << b.tm_hour << ":" << std::setw(2) << b.tm_min << ":" << std::setw(2) << b.tm_sec;
        return ss.str();
}

Vielleicht hätte man an dieser Stelle auch std::put_time benutzen können, aber ich hatte keinen Bock mehr auf Funktionen von denen ich nicht weiß, ob sie zufällig funktionieren oder nicht (threadsafe und so), also hab ich gleich alles selber gemacht. Dabei kam ich nicht umhin zu bewundern wie sau dämlich die tm-Struktur doch ist. Man schaue sich einmal die Intervalle an. Jup, ich muss bei den Jahren 1900 addieren (sonst steht da 117, ugh) und bei den Monaten 1 (wtf? Ernsthaft? Gehts noch inkonsistenter?). Sprich, ich muss dämlichen alten C-Mist benutzen, weil C++ Grundlegende Dinge wie die aktuelle Zeit anzuzeigen immer noch nicht kann. Ganz ganz toll.
Lieber dumm fragen, als dumm bleiben!
Benutzeravatar
Jonathan
Establishment
 
Beiträge: 1221
Registriert: 04.08.2004, 20:06

Re: Jammer-Thread

Beitragvon Krishty » 09.05.2017, 21:43

Ja, da bin ich auch schon reingetreten.

Ach, die STL. Man braucht ja unbedingt wieder einen komplett undurchsichtigen Datentyp, der zehntausend verschiedene Zwecke abdecken muss.

Warum nicht fünf bis zehn Typen für Windows-Zeit, Unix-Zeit, Julianisches Datum, etc. mit bloß einem int64_t als einzigem öffentlichen Member? Plus 20, 30 Funktionen zum Konvertieren untereinander? Plus ein Dutzend Formatierungsfunktionen? Das würde 99 % aller Use Cases abdecken! Weil … das könnte ja ohne Templates auskommen! Nichts da! Denkt an das fehlende Prozent! Lieber fünf vollkommen abstrakt-absurde Typen ohne praktischen Nutzen für unsere Architecture Astronauts. Das abstrakte time_point mit einen von fünf abstrakten Zeitsystemen als Template-Parameter.

Mein Beileid.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6588
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: Jammer-Thread

Beitragvon dot » 09.05.2017, 23:00

Es ist dann halt doch wesentlich komplexer als das. Das Problem ist ja nicht dass man die Zeit nicht abfragen kann. Die Frage ist viel eher: Wie soll sie denn formatiert werden? Und wieso genau sollte Schema ABC der Default sein und nicht Schema XYZ? Lokalisierung ist alles andere als trivial und ich nehme mal an, dass std::chrono das einfach noch nicht supported, weil noch kein Konsens für eine ausreichend allgemeine Lösung dieses Problems gefunden wurde...
Benutzeravatar
dot
Michael Kenzel
Establishment
 
Beiträge: 1647
Registriert: 06.03.2004, 19:10

Re: Jammer-Thread

Beitragvon Krishty » 09.05.2017, 23:08

Dienstag, 9. Mai 2017, 23:06 würde ich auch nicht implementieren wollen, da hast du recht. Wäre ein ähnliches Geraffel wie Währungen und Längen (hat die STL dafür eigentlich mittlerweile was?). Die ohne-Wörter-Version ist aber standardisiert und für den überwältigend großen Teil ausreichend – nur nicht einmal die geht!

Bild
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6588
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: Jammer-Thread

Beitragvon dot » 10.05.2017, 10:56

Naja, das ist die ISO 8601 Notation für ein Datum. Für die Uhrzeit gibts aber selbst in ISO 8601 zig Varianten... ;)
Benutzeravatar
dot
Michael Kenzel
Establishment
 
Beiträge: 1647
Registriert: 06.03.2004, 19:10

Re: Jammer-Thread

Beitragvon Krishty » 11.05.2017, 03:25

Warum muss man /Gw von Hand in die Linker-Kommandozeile eintippen? Warum gibt es noch keine Option dafür? Warum machen die sowas für nichts?

https://blogs.msdn.microsoft.com/vcblog ... er-switch/
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6588
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: Jammer-Thread

Beitragvon Krishty » 12.05.2017, 23:49

Tabs. Vor allem Tabs mit Quelltext. Oooooooh em eff geh.

Die IDE markiert das aktuelle Tab irgendwie. Meistens ist es hell und die anderen Tabs sind dunkel. Oder es hat besonders dicke Schrift oder so.

Wie wäre es denn mit einem Fade-Out? Wenn ich ein Tab besuche, kriegt der Titel volle Helligkeit. Jedes Mal, wenn ich auf ein anderes Tab klicke, nimmt die Helligkeit ALLER ANDEREN 30 % ab oder so.

Wenn ich also ständig zwischen fünf Tabs hin- und herwechsle, ist mein aktuelles Tab am hellsten, die vier anderen Tabs relativ hell, und alle anderen Tabs dunkel. Ich muss NICHT mehr ein Dutzend Dateinamen lesen um zu wissen, wie ich zu der Quelldatei komme, in der ich zuletzt gearbeitet habe. Ich kann auch die 20 dunklen einfach so schließen, weil ich ja sofort sehe, dass ich die ewig nicht gebraucht habe.

Wir kennen doch schon Dateivorschau in Scrollbalken. Warum keine Heat Map drüberlegen, mit langsamem Fade-Out bei jeder Änderung? Dann muss ich noch nicht einmal mehr auf die Vorschau glotzen um die anderen beiden Funktionen wiederzufinden, an denen ich gerade gearbeitet habe. Vielleicht lenkt das aber auch nur irre ab, weil sich beim Tippen ständig was am Bildschirmrand bewegt.

Ich würd’s ja so gern ausprobieren, aber ich habe noch keine eigene IDE, in die ich das testweise einbauen kann. Auch keinen Hex-Editor oder Text-Editor oder wo das sonst nützlich wäre. Wer sowas hat: Probiert’s mal aus. Vielleicht ist es Schmarrn, dann eben wieder raus damit. Vielleicht nützt es aber auch.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6588
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: Jammer-Thread

Beitragvon Oprah Noodlemantra » 13.05.2017, 20:22

Nutzt du Intellij?


Aufbauend auf https://github.com/tobszarny/ActiveTabHighlighterPlugin hab ich das mal zusammengehackt.

Leider kann ich keine Bilder als Anhang hinzufügen, wegen "Fehlerhafter Grafikdateityp: Dateiendung bmp erwartet, aber Endung png erhalten." und "Die Dateierweiterung bmp ist nicht erlaubt.".
Oprah Noodlemantra
 
Beiträge: 14
Registriert: 30.06.2015, 19:03

Re: Jammer-Thread

Beitragvon mrz » 14.05.2017, 13:30

Sehe ich den Sinn davon nicht. Evtl für Hobbyprogrammierer.
Wer täglich programmiert nutzt nicht mehr die Maus für Navigation und klickt auf Tabs.
CTRL+ALT+LEFT/CTRL+ALT+RIGHT, CTRL+E und Booksmarks reichen mir völlig in Intellij für die Navigation
zwischen den "zuletzt besuchten und oder editierten Codestellen".
mrz
 
Beiträge: 40
Registriert: 07.08.2008, 14:34

Re: Jammer-Thread

Beitragvon MasterQ32 » 14.05.2017, 14:10

Also ich bin im Visual Studio hauptsächlich mit F12, Ctrl+- sowie Ctrl++ unterwegs, also jump to definition, navigate back und navigate forward. Damit kann man relativ bequem zwischen den aktuell bearbeiteten codestellen hin und her navigieren.
Duct tape is like the force. It has a light side, a dark side, and it holds the world together.
Benutzeravatar
MasterQ32
Felix Queißner
Establishment
 
Beiträge: 1176
Registriert: 07.10.2012, 14:56

Re: Jammer-Thread

Beitragvon hagbard » 14.05.2017, 17:18

Klingt interessant, was allerdings auch schon weiterhilft ist eine Übersichtsseite über alle aktiven Tabs wie sie Nodepad++ hat. Damit kann man dann seine Tabs einfach sortieren und sich wieder auf die beschränken die gerade wichtig sind.
hagbard
 
Beiträge: 61
Registriert: 05.08.2010, 23:54

Re: Jammer-Thread

Beitragvon smurfer » 15.05.2017, 11:41

Also zumindest unter KDE gibt es bei Kate etwas Derartiges: http://www.sysads.co.uk/wp-content/uploads/2014/08/kate-kde-01.png (Die bearbeiteten Dateien blenden in dem Bild über Lilatöne je nach Bearbeitungsalter aus).
Würde mich nicht wundern, wenn zumindest KDevelop das auch kann.
smurfer
 
Beiträge: 60
Registriert: 25.02.2002, 15:55

Re: Jammer-Thread

Beitragvon Jonathan » 16.05.2017, 11:25

Jedesmal wenn ich mal wieder eine Kleinigkeit in C++ programmiere, nervt es mich, dass sich dieses dämliche Konsolenfenster immer direkt schließt. Und dann stößt man im Netz wieder auf fundamentalistische Diskussionen, ob jetzt std::cing.get() oder system("pause") die bessere Lösung sei. Oder dass man einfach Strg+F5 statt nur F5 benutzen soll (was bei mir auch nicht immer hilft). Aber all das ist eigentlich Quatsch, eigentlich will man doch gar nicht das Konsolenfenster offen halten, weil man eigentlich nicht einmal ein Konsolenfenster haben will. Wieso kann VS nicht einfach ein integriertes Shell-Fenster haben. Jede andere dumme IDE für Python oder Java oder absolut jede Sprache kann das doch auch. Aber nein, scheinbar geht es nicht.
Nicht, dass VS dadurch jetzt fundamental unbenutzbar würde. Aber nervig ist es schon und es kann eigentlich gar nicht so schwer sein, so ein Feature einzubauen. Schade schade...
Lieber dumm fragen, als dumm bleiben!
Benutzeravatar
Jonathan
Establishment
 
Beiträge: 1221
Registriert: 04.08.2004, 20:06

Re: Jammer-Thread

Beitragvon Krishty » 16.05.2017, 11:32

Man kann sich immerhin mit sowas selber helfen: http://stackoverflow.com/questions/5248 ... 2#28900432

————

Wo wir gerade dabei sind: Eine Drittkomponente bindet bei uns eine Viertkomponente ein, die globale Variablen anlegt, deren Konstruktoren fseek(stdout, 0, SEEK_BEGIN) aufrufen. Warum auch immer. Weder die Dritt- noch die Viertkomponente geben jeweils was nach stdout aus; in unserem Programm existiert sowas auch garnicht … und darum muss ich bei jedem Start X Assertions (Seek mit ungültigem Handle) wegklicken.

Ich kann keinen Code aufrufen, bevor das passiert (weil es in der Initialisierung einer statisch gelinkten DLL passiert, läuft meine EXE da noch garnicht); darum habe ich im Debug-Modus unser Programm auf Konsole umgestellt. Eine leere Konsole rumschwirren zu haben ist weniger nervig als ständig Assertions wegklicken zu müssen.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6588
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: Jammer-Thread

Beitragvon Jonathan » 16.05.2017, 11:49

Und nur um nochmal eins nachzulegen: Es ist eh schon eine Schande wie unglaublich schlecht die Standard-Konsole ist, wenn man bedenkt, dass man nicht einmal vernünftig Text markieren kann (bin gerade noch auf Win7, aber auch damals hätte es schon viel besser sein müssen...).
Lieber dumm fragen, als dumm bleiben!
Benutzeravatar
Jonathan
Establishment
 
Beiträge: 1221
Registriert: 04.08.2004, 20:06

Re: Jammer-Thread

Beitragvon kaiserludi » 16.05.2017, 12:00

Jonathan hat geschrieben:Und nur um nochmal eins nachzulegen: Es ist eh schon eine Schande wie unglaublich schlecht die Standard-Konsole ist, wenn man bedenkt, dass man nicht einmal vernünftig Text markieren kann (bin gerade noch auf Win7, aber auch damals hätte es schon viel besser sein müssen...).

http://mridgers.github.io/clink/ hilft.
"Mir ist auch klar, dass der Tag, an dem ZFX und Developia zusammengehen werden der selbe Tag sein wird, an dem DirectGL rauskommt."
DirectGL, endlich ist es da :)

"According to the C++ standard, it's "undefined". That's a technical term that means, in theory, anything can happen: the program can crash, or keep running but generate garbage results, or send Bjarne Stroustrup an e-mail saying how ugly you are and how funny your mother dresses you." :shock:
kaiserludi
Establishment
 
Beiträge: 458
Registriert: 18.04.2002, 15:31

Re: Jammer-Thread

Beitragvon Krishty » 16.05.2017, 21:48

Chrome kann kein einzelnes Tab zoomen, sondern immer nur eine ganze Domain. (https://superuser.com/questions/677967/ ... -in-domain)

Solche Sachen braucht auch keiner! Aber Backspace deaktivieren, das war UNBEDINGT nötig!!!!
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6588
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: Jammer-Thread

Beitragvon MasterQ32 » 16.05.2017, 21:56

+1
Duct tape is like the force. It has a light side, a dark side, and it holds the world together.
Benutzeravatar
MasterQ32
Felix Queißner
Establishment
 
Beiträge: 1176
Registriert: 07.10.2012, 14:56

Re: Jammer-Thread

Beitragvon Krishty » 16.05.2017, 23:16

Ich bin mir ziemlich sicher, dass Nvidia bei ID3D11Device::ResolveSubresource() das Gamma nicht bedenkt, obwohl ich mit B8G8R8A8_UNORM_SRGB arbeite. Als Ergebnis ist das MSAA auf Nvidia-Hardware nur brauchbar, so lange die UI eine dunkle Hintergrundfarbe nutzt. Bei AMD sieht alles perfekt aus. Und jetzt? Fuck this shit …
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6588
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: Jammer-Thread

Beitragvon Jonathan » 18.05.2017, 13:53

Putty ist doof.

Es funktioniert ja schon irgendwie, aber halt nur wenn man es richtig bedient. Und es ist so unglaublich unintiutiv. Und es ist so leicht, etwas falsch zu machen. Nochmal zur Erklärung:
Bild
Links hat man ein langes Menü mit Kategorien, rechts kann man dann die dazugehörigen Einstellungen ändern. Soweit, sogut. Es ist ja auch eine komplizierte Angelegenheit, da braucht man eben viele Optionen, kein Problem. Nur will man die natürlich nicht jedesmal neu angeben, also will man seine Profile (bzw. Sessions) speichern können. Das geht auch, nur das Problem ist, wie es geschieht. Es gibt in der Session Kategorie eine Liste mit Profilen, die man über die entsprechenden Buttons laden oder speichern kann. Per Doppelklick auf ein Profil wird sich direkt mit diesen Optionen verbunden.
Alles was ich machen wollte, war jetzt die Standardfarben zu ändern. Man geht also in Window/Colors, und passt es entsprechend an. Aus meiner Vergangenheit hatte ich mir noch behalten, dass man jetzt bloß nicht vergessen sollte, die Änderungen zu speichern, sonst sind sie beim nächsten Start verloren (und es gibt keine RÜckfrage). Also gehe ich in das Session Menü, wähle mein Profil aus und klicke auf Speichern. Und seitdem kann ich mich nicht mehr verbinden und bekomme nur einen Fehlersound, statt einer Fehlermeldung.

Was war passiert? Ich war in einem leeren Profil (ohne Host-Name und so), habe aus versehen dort meine Einstellungen geändert und mein altes Profil überschrieben. Ich dachte, ich hätte es vorher geladen, weil ich Sekunden zuvor darüber schon eine Verbindung gestartet hatte, allerdings per Doppelklick auf den Eintrag und nicht indem ich es erst lade und dann auf Open klicke.
Wie hätte man es richtig machen sollen? Nun, man solle beim starten von Putty ein Profil auswählen müssen (oder ein neues anlegen), bevor man anfangen kann, etwas daran zu ändern. Jede andere dämliche Software hat das Konzept von 'geöffneten Dateien' verstanden und setzt es vernünftig um, außer Putty. Putty ermutigt einen geradezu dazu Fehler zu machen und Daten (Einstellungen) zu verlieren. Sehr enttäuschend. Dabei hätte man doch nur ein paar fundamentale Konzepte verstehen und umsetzen müssen. Hätte man es direkt richtig gemacht, wäre der Aufwand nichteinmal nennenswert größer gewesen. Und das ist umso ärgerlicher als das Putty in seinem Bereich quasi die Standardsoftware ist.
Lieber dumm fragen, als dumm bleiben!
Benutzeravatar
Jonathan
Establishment
 
Beiträge: 1221
Registriert: 04.08.2004, 20:06

Re: Jammer-Thread

Beitragvon Krishty » 18.05.2017, 14:00

Sollten Einstellungen für UI-Farben nicht sowieso getrennt sein von Einstellungen für Sessions & Verbindungen?
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6588
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: Jammer-Thread

Beitragvon Oprah Noodlemantra » 19.05.2017, 12:23

mrz hat geschrieben:Sehe ich den Sinn davon nicht. Evtl für Hobbyprogrammierer.
Wer täglich programmiert nutzt nicht mehr die Maus für Navigation und klickt auf Tabs.


Ich hab das jetzt ein wenig benutzt, es sorgt vor allem dafür, dass das UI ein wenig bunter ist. Aber sinnlos ist das bestimmt nicht für jeden, selbst wenn er täglich programmiert.

Falls jemand den source code haben will, kann er mich gerne anschreiben.
Oprah Noodlemantra
 
Beiträge: 14
Registriert: 30.06.2015, 19:03

Re: Jammer-Thread

Beitragvon Krishty » 19.05.2017, 13:41

Oprah Noodlemantra hat geschrieben:Nutzt du Intellij?
Nee; ich wollte letzte Woche damit anfangen, aber die Zeit :(
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6588
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: Jammer-Thread

Beitragvon Krishty » 22.05.2017, 13:58

Oh Gott, VRML. Alles ist bis ins Detail spezifiziert. Aber keine Sau hält sich dran.
  • 3DEdit Pro vertauscht Ambient & Emissive. (Wie zur Hölle kann das nicht auffallen?! Alles wird grau!)
  • Eine ganze Reihe Produkte schreibt mit der Z-Achse nach oben, obwohl der Standard gaaanz deutlich hervorhebt, dass Y nach oben zeigen muss.
  • 3D Studio MAX schreibt Namen in ANSI, obwohl schon die Dateisignatur lautet: #VRML V2.0 utf8
  • irgendeine Software, deren Namen ich noch nicht herausgefunden habe (Cinema 4D oder ZPrinter-Tools), schreibt Farben als Gleitkommazahlen mit dem Umfang [0…255] statt [0…1]. WAS ZUR HÖLLE?!
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6588
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: Jammer-Thread

Beitragvon Jonathan » 22.05.2017, 17:39

Ich habe gerade über eine Stunde damit verbrannt, herauszufinden, was der verfickte C++ Komma-Operator in dieser Zeile hier macht:
Code: Ansicht erweitern :: Alles auswählen
Vector3f wo = -ray.d, wi;

Bis mir aufgegangen ist, dass es einfach nur zwei Deklarationen sind. Ich denke offensichtlich einmal wieder zu kompliziert. Aber ganz ehrlich, es ist nicht wirklich meine Schuld, wenn man bedenkt, dass C++ parsen im Allgemeinen unentscheidbar ist. Der Komma-Operator ist einfach keine schöne Syntax...
Lieber dumm fragen, als dumm bleiben!
Benutzeravatar
Jonathan
Establishment
 
Beiträge: 1221
Registriert: 04.08.2004, 20:06

Re: Jammer-Thread

Beitragvon dot » 22.05.2017, 17:49

Ich möchte an dieser Stelle nur anmerken, dass der verlinkte Blogpost Bullshit ist. Das Beispiel dort ist nicht korrektes C++, denn C++ verlangt genau um das dort beschriebene Problem eben entscheidbar zu machen nach dem Schlüßselwort typename. C++ parsing ist natürlich nicht unentscheidbar. Wundert mit aber auch nicht, dass in der C++ FQA Blödsinn steht, denn Sinnvolles hab ich dort noch nie gelesen... ;)
Benutzeravatar
dot
Michael Kenzel
Establishment
 
Beiträge: 1647
Registriert: 06.03.2004, 19:10

Re: Jammer-Thread

Beitragvon Alexander Kornrumpf » 22.05.2017, 18:41

Wie sicher bist du, dass das "C++ FQA" nicht satirisch gemeint ist?
Zuletzt geändert von Alexander Kornrumpf am 22.05.2017, 18:44, insgesamt 1-mal geändert.
Alexander Kornrumpf
Moderator
 
Beiträge: 1630
Registriert: 25.02.2009, 14:37

VorherigeNächste

Zurück zu Allgemeines Talk-Brett

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste