initialization

___ tag123initialisierung ___ Die Initialisierung beschäftigt sich mit der Aufgabe, den Inhalt Ihrer Datenstruktur zu initialisieren. Es ist eine gängige Praxis in statisch typisierten Sprachen. ___ qstnhdr ___ Warum können wir designierte Initialisierer in Erweiterungen nicht in swift hinzufügen? ___ tag123swift ___ Swift ist eine universelle Open-Source-Programmiersprache, die von Apple Inc. für ihre Plattformen und Linux entwickelt wurde. Verwenden Sie das Tag nur für Fragen zu Sprachfunktionen oder für Code in Swift. Verwenden Sie die Tags [ios], [osx], [watch-os], [tvos], [cocoa-touch] und [cocoa] für (sprachunabhängige) Fragen zu den Plattformen oder Frameworks. ___ answer26878806 ___

Erinnern wir uns, was ein designierter Initialisierer ist.

  

Ein designierter Initialisierer initialisiert alle Eigenschaften vollständig   von dieser Klasse eingeführt und ruft eine entsprechende Oberklasse auf   Initialisierer, um den Initialisierungsprozess bis zur Oberklasse fortzusetzen   Kette.

Auszug aus: Apple Inc." Die schnelle Programmiersprache. "

%Vor%     
___ qstntxt ___

Der einzige Unterschied, den ich zwischen designierten und comfortablen Initialisierern sehen kann, ist, dass ersteres notwendigerweise eine Superklasseninitialisierung aufruft (falls verfügbar).

Ich verstehe nicht, warum ich einer Klasse in einer Erweiterung keine designierte Init hinzufügen kann, während das Hinzufügen einer Bequemlichkeit in Ordnung ist.

Warum ist es so schlimm, eine Init von einer Erweiterung zu haben, um möglicherweise einen Superklasseninitialisierer aufzurufen?

    
___
3
Antworten

C, das sich auf statische Initialisierer bezieht

Ist es in C möglich, sich gegenseitig auf statische Variableninitialisierungen zu beziehen, wie im folgenden Beispiel gezeigt? Das Beispiel kompiliert ohne Warnung in gcc -Wall, wenn Zeile 2 hinzugefügt wird, um "B" vorzudeklarieren. Zeile 2...
02.10.2012, 21:26
1
Antwort

Unterschied zwischen Initialize (), Default () und FillChar ()

Nehmen wir an, Sie haben einen lokalen Datensatz, den Sie initialisieren möchten: %Vor% Neben der manuellen Einstellung jedes Felds gibt es mehrere Möglichkeiten. Verwenden Sie Initialisieren (): %Vor% Verwenden Sie Standard ()...
05.01.2013, 20:40
4
Antworten

Werden direkte Puffer in Java auf einen Standardwert wie Arrays initialisiert?

Wenn ich ein Array in Java initialisiere wie: %Vor% Alle Elemente werden auf 0 initialisiert. Ist das auch der Fall, wenn ich einen direkten Puffer wie folgt zuteile: %Vor% ? Ich scheine immer nur Nullen zu bekommen, aber vielleicht ist e...
03.07.2011, 17:23
1
Antwort

Wie initialisiert man __m128i Array statisch in gcc?

Ich portiere einen SSE-Optimierungscode von Windows nach Linux. Und ich habe festgestellt, dass der folgende Code, der in MSVC gut funktioniert, in GCC nicht funktioniert. Der Code soll ein Array von __m128i initialisieren. Jedes __mi28i enthält...
19.03.2013, 12:15
1
Antwort

Ruby: Hinzufügen von Dingen zur Initialisierung der Methode durch Module

In Ruby möchte ich, dass eine Klasse eine Reihe von Modulen enthält und diese einzelnen Module einen Block oder eine Methode ausführen (oder einfach eine Möglichkeit finden, eine Instanzvariable zu bearbeiten), wenn diese Klasse initialisiert wi...
06.11.2012, 19:23
2
Antworten

Initialisierung von Array-Objekten, deren Klasse ein ctor / dtor hat

Ich möchte Array-Objekte initialisieren, indem ich die Initialisierungsanweisung wie folgt benutze. %Vor% Laut einem autoritativen Buch wie ARM (mit Anmerkungen versehenes Referenzhandbuch) für C ++ scheint es so zu sein, dass dies die Art u...
30.05.2011, 13:21
1
Antwort

am meisten Ärger parse verhindert in-class Initialisierung eines std :: vectorint

C ++ 11 ermöglicht die Initialisierung in der Klasse: %Vor% Wenn wir in der Klasse einen Vektor von ints initialisieren wollten, würden wir etwas anderes bekommen: %Vor% Dieses Problem scheint eine Einschränkung der Sprache zu sein, w...
10.02.2018, 16:33
1
Antwort

Sellerie: Korrekter Weg, um langwierige Initialisierungsfunktion (pro Prozess) auszuführen

TLDR; Um eine Initialisierungsfunktion für jeden von Sellerie erzeugten Prozess auszuführen, können Sie das Signal worker_process_init verwenden. Wie Sie in den Dokumenten nachlesen können, sollten Handler für dieses Signal dies nicht...
13.06.2014, 10:06
2
Antworten

Die Kopierinitialisierung in C ++ im Vergleich zur expliziten Initialisierung

Warum wird die erste kommentierte Zeile korrekt kompiliert, während die zweite nicht? Warum kann a sich selbst als Konstruktorargument angeben, aber b kann nicht? Tun die beiden nicht dasselbe? %Vor% Aktualisieren Da es scheint...
01.02.2013, 05:47
2
Antworten

Java-Klassenmitgliedsinitialisierung

Ich schäme mich ein bisschen, das zu fragen, seit Jahren Java-Programmierer zu sein, aber hier ist: Gibt es einen Unterschied zwischen der Zuordnung von Objekten während der Konstruktion und direkt bei der Deklaration des relevanten Feldes? Das...
17.09.2010, 13:28