Als «c++» getaggte Fragen

C ++ ist eine universelle Programmiersprache. Es wurde ursprünglich als Erweiterung von C entwickelt und hat eine ähnliche Syntax, ist aber jetzt eine völlig andere Sprache. Verwenden Sie dieses Tag für Fragen zu Code, der mit einem C ++ - Compiler kompiliert werden soll. Verwenden Sie ein versionierungsspezifisches Tag für Fragen zu einer bestimmten Standardversion [C ++ 11], [C ++ 14], [C ++ 17] oder [C ++ 20] usw.

10
Referenz deklarieren und später initialisieren?
Ich habe einen Verweis auf MyOjbect, aber das genaue Objekt hängt von einer Bedingung ab. Also möchte ich so etwas machen: MyObject& ref; if([condition]) ref = MyObject([something]) else ref = MyObject([something else]); Ich kann dies derzeit nicht tun, da der Compiler mir nicht erlaubt, eine Referenz zu deklarieren, aber nicht …
70 c++  reference 

2
Warum muss ich in C ++ 20 nicht "Typname" vor einem abhängigen Typ angeben?
Dieses Codebit wurde in C ++ 20 (mit gcc 10.1) kompiliert, ohne das typenameSchlüsselwort vor dem abhängigen Typ zu verwenden std::vector<T>::iterator. Warum kompiliert es? #include <vector> template<typename T> std::vector<T>::iterator // Why does this not require "typename" before it? f() { return {}; } int main() { auto fptr = &f<int>; …

11
Warum sollten Sie das Schlüsselwort const verwenden, wenn Sie bereits wissen, dass die Variable konstant sein sollte?
Viele der Bücher, die ich lese, verwenden Schlüsselwörter, constwenn der Wert einer Variablen nicht geändert werden soll. Abgesehen davon, dass Sie den Lesern des Codes mitteilen, dass Sie beim Ändern dieser Variablen Fehler verursachen können (Sie können dazu Kommentare verwenden), warum benötigen Sie dieses Schlüsselwort, um Teil einer Programmiersprache zu …
70 c++  c  constants  keyword 



9
Leistungsproblem: Java vs C ++
Ich habe immer gehört, dass C ++ viel effizienter als Java ist (und deshalb werden die meisten Spiele in C ++ entwickelt). Ich schrieb einen kleinen Algorithmus, um das "Acht-Königinnen-Rätsel" in Java und C ++ mit genau demselben Algorithmus zu lösen, und begann dann, die Zahl oder die Quadrate zu …

4
Was bedeutet die Anweisung "Sperren" in der x86-Assembly?
Ich habe eine x86-Assembly in Qts Quelle gesehen: q_atomic_increment: movl 4(%esp), %ecx lock incl (%ecx) mov $0,%eax setne %al ret .align 4,0x90 .type q_atomic_increment,@function .size q_atomic_increment,.-q_atomic_increment Durch Googeln wusste ich, dass lockAnweisungen dazu führen, dass die CPU den Bus sperrt, aber ich weiß nicht, wann die CPU den Bus freigibt …
69 c++  qt  assembly  x86 

5
Was ist eine * .o-Datei?
Ich kompiliere ein eigenes Projekt. Und es wurde durch diesen Fehler gestoppt: LINK || Schwerwiegender Fehler LNK1181: Eingabedatei 'obj \ win \ release \ src \ lua \ bindings.o' | kann nicht geöffnet werden Kompilieren mit Code :: Blocks mit dem VS 2005/2008 Compiler unter win7. Es gibt auch viele …
69 c++ 

4
C ++ 11: Std :: Array-Initialisierung korrigieren?
Wenn ich ein std :: -Array wie folgt initialisiere, warnt mich der Compiler vor fehlenden geschweiften Klammern std::array<int, 4> a = {1, 2, 3, 4}; Dies behebt das Problem: std::array<int, 4> a = {{1, 2, 3, 4}}; Dies ist die Warnmeldung: missing braces around initializer for 'std::array<int, 4u>::value_type [4] {aka …

4
Fehler LNK2038: Nichtübereinstimmung für '_MSC_VER' festgestellt: Wert '1600' stimmt nicht mit Wert '1700' in CppFile1.obj überein
Ich habe meine Projekte von VS2010 auf VS2012 konvertiert. In bestimmten Projekten wird jedoch ein _MSC_VER-Linkerfehler angezeigt. Nach langem Surfen durch Google stellte ich fest, dass das Problem auf die Verknüpfung einer in VS2010 erstellten Bibliothek mit VS2012 zurückzuführen ist. Wie kann ich herausfinden, welches Projekt den Fehler verursacht? Hier …


3
Multithreading-Programm bleibt im optimierten Modus hängen, läuft aber normal in -O0
Ich habe ein einfaches Multithreading-Programm wie folgt geschrieben: static bool finished = false; int func() { size_t i = 0; while (!finished) ++i; return i; } int main() { auto result=std::async(std::launch::async, func); std::this_thread::sleep_for(std::chrono::seconds(1)); finished=true; std::cout<<"result ="<<result.get(); std::cout<<"\nmain thread id="<<std::this_thread::get_id()<<std::endl; } Es verhält sich normalerweise im Debug-Modus in Visual Studio oder …



8
Wird meine iPhone-App einen Leistungseinbruch erleiden, wenn ich Objective-C für Low-Level-Code verwende?
Wenn Sie eine CPU- oder GPU-intensive Anwendung auf dem iPhone oder einer anderen tragbaren Hardware programmieren, müssen Sie kluge algorithmische Entscheidungen treffen, um Ihren Code schnell zu machen. Aber selbst gute Algorithmusoptionen können langsam sein, wenn die von Ihnen verwendete Sprache schlechter abschneidet als eine andere. Gibt es harte Daten, …

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.