C++Const Correctness


Sintassi

  • class ClassOne {public: bool non_modifying_member_function () const {/ * ... * /}};
  • int ClassTwo :: non_modifying_member_function () const {/ * ... * /}
  • void ClassTwo :: modifying_member_function () {/ * ... * /}
  • char non_param_modding_func (const ClassOne e uno, const ClassTwo * two) {/ * ... * /}
  • float parameter_modifying_function (ClassTwo e uno, ClassOne * two) {/ * ... * /}
  • breve ClassThree :: non_modding_non_param_modding_f (const ClassOne &) const {/ * ... * /}

Osservazioni

const correctness è uno strumento di risoluzione dei problemi molto utile, in quanto consente al programmatore di determinare rapidamente quali funzioni potrebbero inavvertitamente modificare il codice. Evita anche errori non intenzionali, come quello mostrato in Const Correct Function Parameters , dalla compilazione corretta e passando inosservato.

È molto più semplice progettare una classe per la correttezza const , piuttosto che aggiungere successivamente la correttezza const a una classe preesistente. Se possibile, nel Designer classe che può essere const corretta in modo che sia const corretta, per salvare se stessi e gli altri il fastidio di poi modificarlo.

Si noti che questo può anche essere applicato alla correttezza volatile se necessario, con le stesse regole della correttezza const , ma questo viene usato molto meno spesso.

Refrences:

ISO_CPP

Vendimi per correttezza

Tutorial C ++

Const Correctness Esempi correlati