Ist es möglich, ein Objekt einer Klasse zu instanziieren, noch bevor main() ausgeführt wird? Wenn ja, wie mache ich das?Exemplarisches Objekt einer Klasse, bevor main() ausgeführt wird
6
A
Antwort
7
Globale Objekte werden erstellt, bevor main()
aufgerufen wird.
struct ABC {
ABC() {
std::cout << "In the constructor\n";
}
};
ABC s; // calls the constructor
int main()
{
std::cout << "I am in main now\n";
}
5
Ja, können Sie es tun, wie so:
#include <iostream>
struct X {
X() { std::cout << "X()\n"; }
};
X x;
int main(int argc, char ** argv) {
std::cout << "main()\n";
}
Verwandte Themen
- 1. Segmentierungsfehler, bevor main ausgeführt wird
- 2. main() nicht ausgeführt wird, aber kompilieren
- 3. Deklarieren Sie ein Objekt, noch bevor diese Klasse erstellt wird
- 4. Aufruf einer Klasse im Main()
- 5. viewDidLoad wird aufgerufen, bevor ganz init-Methode ausgeführt wird
- 6. Objekt - ein Objekt aufrufen, bevor es definiert wird
- 7. Wie wird die API-Methode ausgeführt, bevor Tabellenansicht geladen wird?
- 8. angularjs $ routeProvider Route wird ausgeführt, bevor die Auflösung abgeschlossen wird
- 9. Die Lesefunktion wird von main aufgerufen, aber nicht ausgeführt.
- 10. Wie wird Code ausgeführt, bevor die erste Ansicht geöffnet wird?
- 11. Attribut in einer Klasse wird sofort zur falschen Zeit ausgeführt?
- 12. Stellen Sie sicher, dass Schleife vollständig ausgeführt wird, bevor anderer Code in jQuery ausgeführt wird
- 13. Erzwingen, dass der Handler ausgeführt wird, bevor eine Task in Ansible ausgeführt wird?
- 14. Objekt einer Klasse wird beim Kompilieren in einer anderen
- 15. Warum wird mein TStrings-Objekt zerstört, bevor mein Destruktor ausgeführt werden kann?
- 16. `undefinierter Verweis auf` main` in Cpp-Klasse ohne main()
- 17. Gibt es Ereignisse, bevor ein Controller ausgeführt wird?
- 18. Warten Funktion abgeschlossen ist, bevor nächste Befehl ausgeführt wird
- 19. Treiber installieren und Dateien kopieren, bevor Installation ausgeführt wird
- 20. Zend: Führe etwas aus, bevor ein Controller ausgeführt wird
- 21. Warte auf das Versprechen zu lösen, bevor Code ausgeführt wird
- 22. Warten Sie, bis die Funktion ausgeführt wird, bevor Sie fortfahren
- 23. Funktion wartet nicht bis alles ausgeführt wird, bevor es weitergeht
- 24. C++ klasse warum brauchen main?
- 25. Die Klasse für Main in Scala erhalten
- 26. Sanitizing-Include-Datei, bevor sie mit einer Whitelist ausgeführt werden
- 27. 'This' wird einer Variablen zugewiesen, bevor sie verwendet wird?
- 28. In C++, ist es gute Form, Code zu schreiben, der vor main() ausgeführt wird?
- 29. Wann sollte der Dekonstruktor einer abgeleiteten Klasse NICHT ausgeführt werden?
- 30. Meine Klasse kompiliert, wird aber nicht korrekt ausgeführt! (BlueJ)
Wie funktionierts? Beginnt die Ausführung nicht bei main()? Kannst du etwas Licht werfen? – Shree
@Shree: Überprüfen Sie die Änderungen. Arbeitscode [hier] (http://ideone.com/mKEB9) –
@Shree: Nein. Globale (und einige andere) Variablen müssen vor 'main()' erstellt werden, da sie bei Verwendung von 'benötigt werden main() 'beginnt. Also müssen ihre Konstruktoren vor 'main()' aufgerufen werden. – sbi