[C++] STL Container Basisklassen
Verfasst: 22.05.2009, 14:10
Hallo zusammen,
es gibt eine Diskussion über die STL bei uns in der Firma, hauptsächlich geht es darum, warum die STL Container bzw. die Iteratoren kein einheitliches Interface haben.
Wenn man also bspw. einen vector durch eine list austauschen möchte, ohne etwas an den Interfaces seiner Klasse ändern zu müssen. Warum gibt es keine Basisklasse für alle Container, obwohl doch alle begin() und end() bspw. haben und die Iteratoren ähnlich wie auch in C# und Java sich gleich verhalten. In der Diskussion war ich eher der befürworter der STL sehe mich aber diesen Argumenten ausgesetzt und kann nichts passendes darauf zurückgeben. Ich sehe keinen Grund warum die STL es so macht, wie sie es macht. Was für Vorteile bekommt man auf diese Art und warum überwiegen sie einem sauberen Interface Ansatz?
Wäre nett wenn sich jemand von euch dazu äussern könnte, und etwas licht ins Dunkel bringt.
Danke schonmal
Nico
es gibt eine Diskussion über die STL bei uns in der Firma, hauptsächlich geht es darum, warum die STL Container bzw. die Iteratoren kein einheitliches Interface haben.
Wenn man also bspw. einen vector durch eine list austauschen möchte, ohne etwas an den Interfaces seiner Klasse ändern zu müssen. Warum gibt es keine Basisklasse für alle Container, obwohl doch alle begin() und end() bspw. haben und die Iteratoren ähnlich wie auch in C# und Java sich gleich verhalten. In der Diskussion war ich eher der befürworter der STL sehe mich aber diesen Argumenten ausgesetzt und kann nichts passendes darauf zurückgeben. Ich sehe keinen Grund warum die STL es so macht, wie sie es macht. Was für Vorteile bekommt man auf diese Art und warum überwiegen sie einem sauberen Interface Ansatz?
Wäre nett wenn sich jemand von euch dazu äussern könnte, und etwas licht ins Dunkel bringt.
Danke schonmal
Nico