Als «c++» getaggte Fragen

Fragen zu C ++, einer statisch typisierten, frei formulierten, kompilierten, universellen Programmiersprache mit mehreren Paradigmen.



2
Best Practice zum Erstellen einer 'globalen' Konfigurationsklasse, die von zahlreichen Komponenten verwendet wird
Ich habe ein großes Projekt mit einem Treiberteil und ungefähr 5 Bibliotheken, die verschiedene zugehörige Aufgaben ausführen. Viele der Bibliotheken benötigen Zugriff auf 'globale' Konfigurationsdaten, die beim Start vom Treibercode aus einer Datenbank gelesen werden. Mit Treiber meine ich nur den Teil, der die Hauptfunktion enthält. Meine Idee, wie ich …

5
Wie löse ich die Interdependenz von Klassen in meinem C ++ - Code?
In meinem C ++ - Projekt habe ich zwei Klassen Particleund Contact. In der ParticleKlasse habe ich eine Mitgliedsvariable, std::vector<Contact> contactsdie alle Kontakte eines ParticleObjekts sowie die entsprechenden Mitgliedsfunktionen getContacts()und enthält addContact(Contact cont). Daher füge ich in "Partikel.h" "Kontakt.h" ein. In der ContactKlasse möchte ich dem Konstruktor Code für Contactdiesen …


5
Optimieren redundanter Zeichenfolgenzuordnungen in C ++
Ich habe eine ziemlich komplexe C ++ - Komponente, deren Leistung zu einem Problem geworden ist. Die Profilerstellung zeigt, dass der größte Teil der Ausführungszeit lediglich für die Zuweisung von Speicher für std::strings aufgewendet wird . Ich weiß, dass diese Zeichenfolgen sehr redundant sind. Eine Handvoll Werte wiederholen sich sehr …

3
Vermeiden Sie Konstruktoren mit vielen Argumenten
Ich habe also eine Fabrik, die Objekte verschiedener Klassen erstellt. Die möglichen Klassen stammen alle von einem abstrakten Vorfahren. Die Factory verfügt über eine Konfigurationsdatei (JSON-Syntax) und entscheidet abhängig von der Konfiguration des Benutzers, welche Klasse erstellt werden soll. Um dies zu erreichen, verwendet die Factory boost :: property_tree für …

2
Vorteile der Copy-on-Write-Semantik
Ich frage mich, welche möglichen Vorteile Copy-on-Write hat. Natürlich erwarte ich keine persönlichen Meinungen, sondern reale praktische Szenarien, in denen dies auf greifbare Weise technisch und praktisch von Vorteil sein kann. Und mit greifbar meine ich etwas mehr, als Ihnen das Schreiben eines &Zeichens zu ersparen . Zur Verdeutlichung steht …
10 c++  qt 

1
Message Queue für RTOS für Mikrocontroller
Ich schreibe gerade ein RTOS für Mikrocontroller. Das Ganze ist in C ++ 11 geschrieben - wenn jemand interessiert ist und der Link zum Repository unten ist. Derzeit schreibe ich eine Klasse, die eine einfache Datenwarteschlange zum Übergeben von Objekten zwischen Threads (oder zwischen Interrupt-Handlern und Threads oder Interrupt-Handlern und …


5
Gibt es technische Einschränkungen oder Sprachfunktionen, die verhindern, dass mein Python-Skript so schnell ist wie ein gleichwertiges C ++ - Programm?
Ich bin ein langjähriger Python-Benutzer. Vor ein paar Jahren habe ich angefangen, C ++ zu lernen, um zu sehen, was es in Bezug auf Geschwindigkeit bieten kann. Während dieser Zeit würde ich Python weiterhin als Werkzeug für das Prototyping verwenden. Dies schien ein gutes System zu sein: agile Entwicklung mit …


2
Unit Testing Nebeneffekt-schwerer Code
Ich fange an, C ++ - Code zu schreiben, um einen Roboter auszuführen, und ich weiß nicht, wie ich Unit-Tests integrieren soll, wenn ich das kann. Ich habe eine Bibliothek erhalten, mit der "Befehle" für den Roboter erstellt werden können, die automatisch geplant und ausgeführt werden. Der Mechanismus dieser Befehle …


3
Wird es als gefährlich angesehen, sich auf die implizite Argumentkonvertierung zu verlassen?
C ++ hat eine Funktion (ich kann den richtigen Namen nicht herausfinden), die automatisch übereinstimmende Konstruktoren von Parametertypen aufruft, wenn die Argumenttypen nicht die erwarteten sind. Ein sehr einfaches Beispiel hierfür ist das Aufrufen einer Funktion, die a std::stringmit einem const char*Argument erwartet . Der Compiler generiert automatisch Code, um …

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.