Softwareentwicklung

15
Wie ist std :: vector <bool> entstanden?

Heutzutage sind sich praktisch alle C ++ - Entwickler einig, dass dies std::vector<bool>ein Fehler war, da es sich fälschlicherweise nicht um einen Container handelt und sich seine Anwendungsfälle weitgehend mit denen von std::bitsetsowieso überschneiden . Wie wurde es in den Standard...

15
Verwendet Redux ein bereinigtes Gott-Objektmuster?

Als ich über Redux lernte, kam mir das Gott-Objekt-Muster (oder Anti-Muster) in den Sinn - beide haben ein einziges großes Objekt, das alle App-Daten und Methoden zu ihrer Manipulation enthält. Redux hat jedoch einige Einschränkungen festgelegt, z. B., dass das Objekt unveränderlich ist und...

15
size_t oder int für Dimensionen, Index usw

In C ++ wird size_t(oder genauer gesagt, T::size_typewas "normalerweise" ist size_t, dh ein unsignedTyp) als Rückgabewert für size(), das Argument für operator[]usw. verwendet (siehe std::vectoret al.). Andererseits verwenden .NET-Sprachen int(und optional long) für denselben Zweck. Tatsächlich...

15
Wie wende ich das Prinzip der Schnittstellentrennung in C an?

Ich habe ein Modul, sagen Sie "M", das ein paar Clients hat, sagen Sie "C1", "C2", "C3". Ich möchte den Namespace des Moduls M, dh die Deklarationen der von ihm verfügbar gemachten APIs und Daten, so in Header-Dateien unterteilen, dass: Für jeden Client sind nur die erforderlichen Daten und APIs...