Als «language-design» getaggte Fragen

Ein Tag für Fragen zum Design eines beliebigen Aspekts von Programmiersprachen.








9
Warum sollte die switch-Anweisung eine Pause benötigen?
Gegeben eine einfache switch-Anweisung switch (int) { case 1 : { printf("1\n"); break; } case 2 : { printf("2\n"); } case 3 : { printf("3\n"); } } Das Fehlen einer break-Anweisung in Fall 2 impliziert, dass die Ausführung innerhalb des Codes für Fall 3 fortgesetzt wird. Dies ist kein Unfall. …
139 c  language-design 


10
Warum gibt ein Python dict.update () das Objekt nicht zurück?
Ich versuche zu tun: award_dict = { "url" : "http://facebook.com", "imageurl" : "http://farm4.static.flickr.com/3431/3939267074_feb9eb19b1_o.png", "count" : 1, } def award(name, count, points, desc_string, my_size, parent) : if my_size > count : a = { "name" : name, "description" : desc_string % count, "points" : points, "parent_award" : parent, } a.update(award_dict) return …

13
Warum benötigt C ++ eine separate Header-Datei?
Ich habe nie wirklich verstanden, warum C ++ eine separate Header-Datei mit den gleichen Funktionen wie in der CPP-Datei benötigt. Es macht das Erstellen und Umgestalten von Klassen sehr schwierig und fügt dem Projekt unnötige Dateien hinzu. Und dann gibt es das Problem, dass Header-Dateien eingeschlossen werden müssen, aber explizit …


9
Warum unterstützt Ruby i ++ oder i-- nicht (Inkrementierungs- / Dekrementierungsoperatoren)?
Der Pre / Post-Inkrement / Dekrement-Operator ( ++und --) ist eine ziemlich standardmäßige Programmiersprachen-Syntax (zumindest für prozedurale und objektorientierte Sprachen). Warum unterstützt Ruby sie nicht? Ich verstehe, dass Sie mit +=und dasselbe erreichen können -=, aber es scheint seltsamerweise willkürlich, so etwas auszuschließen, zumal es so prägnant und konventionell ist. …


8
Warum befinden sich C ++ - Inline-Funktionen im Header?
Hinweis: Hier geht es nicht darum, wie Inline-Funktionen verwendet werden oder wie sie funktionieren, sondern darum, warum sie so ausgeführt werden, wie sie sind. Die Deklaration einer Klassenmitgliedsfunktion muss keine Funktion als definieren inline, sondern ist nur die tatsächliche Implementierung der Funktion. Zum Beispiel in der Header-Datei: struct foo{ void …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.