003
24.06.2010, 14:26 Uhr
0xdeadbeef
Gott (Operator)
|
Ich nehme an, dass das Beispiel so geschrieben ist, um alle Verwendungen von const in einer Zeile zu erschlagen. Über die pädagogische Sinnhaftigkeit des Unterfangens schweige ich lieber.
Prinzipiell kann es aber schon Sinn machen, Rückgabewerte const zu deklarieren, um mögliche Fehlerquellen zu entfernen. Ich nehme mal das Beispiel aus Effective C++ (item 3):
C++: |
class Rational { ... };
const Rational operator*(const Rational &lhs, const Rational &rhs);
// ...
Rational a, b, c;
if(a * b = c) { // Tipfeeler! Gemeint ist == // ... }
|
Ohne das const (und in der Annahme, dass Rational als bool interpretierbar ist), würde dieser Code kompilieren und Verwirrung stiften.
Scott Meyers rät deswegen dazu, const zu benutzen, wo immer es geht, und ich stimme ihm da zu. In deinem speziellen Fall macht es aber wohl keinen Unterschied. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra |