Ich höre, dass constdies in C ++ 11 threadsicher bedeutet . Ist das wahr? Heißt das constjetzt das Äquivalent von Java ‚s synchronized? Gehen ihnen die Schlüsselwörter aus ?
Der folgende Code funktioniert in Visual Studio 2008 mit und ohne Optimierung. Es funktioniert aber nur unter g ++ ohne Optimierung (O0). #include <cstdlib> #include <iostream> #include <cmath> double round(double v, double digit) { double pow = std::pow(10.0, digit); double t = v * pow; //std::cout << "t:" << t …
In C ++ 14 scheinen sich assoziative Container von C ++ 11 geändert zu haben - [assoziativ.reqmts] / 13 sagt: Die Mitgliedsfunktionsschablonen find, count, lower_bound, upper_bound, und equal_rangedarf nicht in die Überladungsauflösung teilnehmen , es sei denn die Art Compare::is_transparentvorhanden ist . Was ist der Zweck, einen Komparator "transparent" zu …
Ich habe den folgenden Code, der den Benutzer zur Eingabe seines Namens und Status auffordert: #include <iostream> #include <string> int main() { std::string name; std::string state; if (std::cin >> name && std::getline(std::cin, state)) { std::cout << "Your name is " << name << " and you live in " << …
Ich habe angefangen, C ++ für meine Programmierklasse zu lernen. Ich habe dieses "Hello World" -Programm heruntergeladen: #include <iostream> using namespace std; int main() { cout << "Hello, World!"; return 0; } aber Turbo C ++ beschwert sich: Error D:\HELLO.CPP 1: Unable to open include file 'IOSTREAM' Error D:\HELLO.CPP 2: …
Kürzlich gab es in einem Interview eine folgende objektive Frage. int a = 0; cout << a++ << a; Antworten: ein. 10 b. 01 c. undefiniertes Verhalten Ich antwortete auf Wahl b, dh die Ausgabe wäre "01". Zu meiner Überraschung wurde mir später von einem Interviewer gesagt, dass die richtige …
Ich habe Probleme, die Nützlichkeit von Funktionszeigern zu erkennen. Ich denke, es kann in einigen Fällen nützlich sein (sie existieren schließlich), aber ich kann mir keinen Fall vorstellen, in dem es besser oder unvermeidlich ist, einen Funktionszeiger zu verwenden. Können Sie ein Beispiel für die gute Verwendung von Funktionszeigern (in …
Links- und Rechtsverschiebungsoperatoren (<< und >>) sind in C ++ bereits verfügbar. Ich konnte jedoch nicht herausfinden, wie ich Kreisverschiebungs- oder Rotationsvorgänge ausführen konnte. Wie können Operationen wie "Nach links drehen" und "Nach rechts drehen" ausgeführt werden? Hier zweimal nach rechts drehen Initial --> 1000 0011 0100 0010 sollte führen …
Klammern in C ++ werden an vielen Stellen verwendet: z. B. in Funktionsaufrufen und Gruppierungsausdrücken, um die Priorität von Operatoren zu überschreiben. Abgesehen von illegalen zusätzlichen Klammern (wie z. B. Argumentlisten für Funktionsaufrufe) ist eine allgemeine, aber nicht absolute Regel von C ++, dass zusätzliche Klammern niemals schaden : 5.1 …
Ich habe eine Funktion mit demselben Namen, aber mit unterschiedlicher Signatur in einer Basisklasse und abgeleiteten Klassen. Wenn ich versuche, die Funktion der Basisklasse in einer anderen Klasse zu verwenden, die von der abgeleiteten erbt, wird eine Fehlermeldung angezeigt. Siehe folgenden Code: class A { public: void foo(string s){}; }; …
Wie der Titel sagt, Was genau ist die "Als ob" -Regel? Eine typische Antwort wäre: Die Regel, die alle Codetransformationen zulässt, die das beobachtbare Verhalten des Programms nicht ändern Von Zeit zu Zeit erhalten wir Verhaltensweisen von bestimmten Implementierungen, die dieser Regel zugeordnet sind. Viele Male falsch. Also, was genau …
Da ein Kopierkonstruktor MyClass(const MyClass&); und eine = Bedienerüberlastung MyClass& operator = (const MyClass&); Haben Sie so ziemlich den gleichen Code, den gleichen Parameter und unterscheiden Sie sich nur bei der Rückgabe. Ist es möglich, eine gemeinsame Funktion für beide zu haben?
Der C ++ 17-Standard führt "Anleitungen zum Abziehen von Vorlagen" ein. Ich habe festgestellt, dass sie etwas mit dem Abzug neuer Vorlagenargumente für Konstruktoren zu tun haben, die in dieser Version des Standards eingeführt wurden, aber ich habe noch keine einfache Erklärung im FAQ-Stil gesehen, was sie sind und wofür …
Wenn ich ein Objekt deklariere, das in einen gemeinsamen Zeiger eingeschlossen ist: std::shared_ptr<myClass> myClassObject(new myClass()); dann wollte ich es als Argument an eine Methode übergeben: DoSomething(myClassObject); //the called method void DoSomething(std::shared_ptr<myClass> arg1) { arg1->someField = 4; } Erhöht das oben Gesagte einfach die Referenzanzahl von shared_pt und alles ist cool? …
g++ gibt mir Fehler der Form: foo.cc:<line>:<column>: fatal error: <bar>: No such file or directory compilation terminated. Dies gilt auch für das Kompilieren von C-Programmen mit gcc. Warum ist das so? Bitte beachten Sie: Diese Frage wurde schon oft gestellt, aber jedes Mal war sie spezifisch für die Situation des …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.