Dal momento che hai contrassegnato questo come C++, Credo che si intende const
metodo come questo:
class A {
int e;
public:
int doSomething() const {
// ++ e; // Compiler error, change data-member in read-only structure
return e+1; // OK.
}
};
(. Anche se const C++ s 'non è un vero-const a causa delle mutable
membri)
Poi
I Sono a conoscenza solo di C++, D2 e di tutti quei linguaggi funzionali che supportano questo.
- C# doesn't support
const
methods ma è possibile effettuare tutti i membri readonly
. Puoi anche creare una classe/sottoclasse wrapper readonly
. Java non ha la parola chiave const, ma come C# you can make all members final
.
- Tutti i linguaggi funzionali utilizzano i metodi const per default perché le funzioni sono pure, ma se supportano la programmazione orientata agli oggetti è un'altra domanda.
La votazione per chiudere questa mi sembra fuori luogo - è chiaramente una vera e propria domanda per la quale è possibile una risposta corretta (e non ci possono essere più di una risposta corretta). Il "Si prega di fornire esempi o riferimenti ..." suona come un compito a casa però. –
Questa è una vera domanda e non un compito a casa. È nato da una discussione con un amico programmatore C++ riguardante un problema che ha incontrato con metodi costanti. Durante quella discussione, mi sono reso conto che né Java né Scala supportano questo concetto e che non molti linguaggi orientati agli oggetti che conosco fanno. Quindi, mi chiedevo, quali lingue supportano questo concetto? –
Una delle migliori domande che ho visto oggi. Perché i voti ravvicinati? –