Heute haben wir die Ursache eines bösen Fehlers herausgefunden, der nur zeitweise auf bestimmten Plattformen auftrat. In Kürze sah unser Code so aus: class Foo { map<string,string> m; void A(const string& key) { m.erase(key); cout << "Erased: " << key; // oops } void B() { while (!m.empty()) { auto …
Es scheint, als hätte Java die Fähigkeit, Klassen zu deklarieren, die seit Ewigkeiten nicht mehr abgeleitet werden können, und jetzt hat es auch C ++. Warum ist dies jedoch angesichts des Open / Close-Prinzips in SOLID sinnvoll? Für mich finalklingt das Schlüsselwort wie friend- es ist legal, aber wenn Sie …
Wie ich sehen kann, werden intelligente Zeiger in vielen realen C ++ - Projekten häufig verwendet. Obwohl eine Art von intelligenten Zeigern offensichtlich für die Unterstützung von RAII- und Eigentumsübertragungen von Vorteil ist, gibt es auch einen Trend, standardmäßig gemeinsame Zeiger als " Speicherbereinigungsmethode " zu verwenden , damit der …
Java hat eine automatische GC, die hin und wieder die Welt stoppt, sich aber um den Müll auf einem Haufen kümmert. Jetzt haben C / C ++ - Anwendungen diese STW-Einfrierungen nicht mehr, und auch die Speichernutzung nimmt nicht unendlich zu. Wie wird dieses Verhalten erreicht? Wie werden die toten …
Vor mehr als 10 Jahren haben sie Ihnen beigebracht, Ausnahmespezifizierer zu verwenden. Da ich einer der torvaldischen C-Programmierer bin, der C ++ hartnäckig meidet, wenn ich nicht dazu gezwungen werde, lande ich nur sporadisch in C ++. Die Mehrheit der C ++ - Programmierer scheint sich jedoch über Ausnahmespezifizierer hinwegzusetzen. …
In diesem Beitrag zum Stapelüberlauf wird eine ziemlich umfassende Liste von Situationen aufgeführt, in denen die C / C ++ - Sprachspezifikation als "undefiniertes Verhalten" deklariert wird. Ich möchte jedoch verstehen, warum andere moderne Sprachen wie C # oder Java nicht das Konzept von "undefiniertem Verhalten" haben. Bedeutet dies, dass …
Ich habe versucht, eine Möglichkeit zu finden, stark typisierte typedefs zu deklarieren, um eine bestimmte Klasse von Fehlern in der Kompilierungsphase zu erkennen. Es kommt häufig vor, dass ich ein int in mehrere Arten von ids oder einen Vektor zur Positionierung oder Geschwindigkeit eingebe: typedef int EntityID; typedef int ModelID; …
Es gibt viele nützliche Funktionen in <algorithm>, aber alle arbeiten mit "Sequenzen" - Paaren von Iteratoren. Wenn ich zB einen Container habe und darauf laufen möchte std::accumulate, muss ich schreiben: std::vector<int> myContainer = ...; int sum = std::accumulate(myContainer.begin(), myContainer.end(), 0); Wenn alles, was ich vorhabe, ist: int sum = std::accumulate(myContainer, …
Dieser Blogpost wurde in den Hacker News mit mehreren positiven Stimmen gepostet. Aus C ++ stammend, scheinen die meisten dieser Beispiele gegen das zu verstoßen, was mir beigebracht wurde. Zum Beispiel # 2: Schlecht: def check_for_overheating(system_monitor) if system_monitor.temperature > 100 system_monitor.sound_alarms end end gegen gut: system_monitor.check_for_overheating class SystemMonitor def check_for_overheating …
Ich möchte auf Ihre Erfahrungen mit vollständigen IDEs unter Linux hinweisen. Ich persönlich arbeite meistens mit vim, aber andere Programmierer möchten eine echte IDE sehen. Daher würde ich gerne Ihre persönliche Meinung zu verschiedenen IDEs und deren Vergleich in folgendem Kontext hören: C ++ und vielleicht etwas C-Entwicklung (nicht Java, …
Annahmen Einer der Vorteile von Nur-Header-Bibliotheken für C ++ besteht darin, dass sie nicht separat kompiliert werden müssen. In C und C ++ inlinemacht nur Sinn , wenn die Funktion definiert in einer Header - Datei *. Traditionell wurde in C das Layout .c / .h verwendet, wobei der Header …
Ich glaubte, ich habe viele Male nach virtuellen Destruktoren gesucht, die meisten erwähnen den Zweck von virtuellen Destruktoren und warum Sie virtuelle Destruktoren benötigen. Außerdem denke ich, dass Destruktoren in den meisten Fällen virtuell sein müssen. Dann lautet die Frage: Warum setzt c ++ nicht standardmäßig alle Destruktoren virtuell? oder …
Stroustrup behauptet, dass Cfront, der erste C ++ - Compiler, in C ++ geschrieben wurde ( Stroustrup FAQ ). Wie ist es jedoch überhaupt möglich, dass der erste C ++ - Compiler in C ++ geschrieben wird? Der Code, aus dem der Compiler besteht, muss ebenfalls kompiliert werden, sodass der …
Gestern hatte ich eine schreckliche Erfahrung in einem Interview. Der Interviewer fragte mich nach der rein virtuellen Funktion. Ich sagte: Es kann oder kann nicht Definition in der Basisklasse haben, aber abgeleitete Klassen sollten Definition zur Verfügung stellen, es sei denn, sie möchten auch abstrakte Klasse sein. Aber der Interviewer …
Ich bin ein C, C ++ Entwickler. Ich interessiere mich für mobile Entwicklung. Ich möchte wissen, wie ich Android-Apps mit C und C ++ entwickeln kann. Ich habe gelesen, dass sie ein Kit für C- und C ++ -Entwickler bereitstellen, das jedoch nicht alle Funktionen ab Java-Kit bietet. Sollte ich …
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.