prog:cpp:propagate_const
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
prog:cpp:propagate_const [2025/07/06 18:13] – Ajout de indirect_value root | prog:cpp:propagate_const [2025/07/06 19:06] (Version actuelle) – Fix value_types root | ||
---|---|---|---|
Ligne 162: | Ligne 162: | ||
=====indirect_value===== | =====indirect_value===== | ||
- | '' | + | '' |
====Pointeur==== | ====Pointeur==== | ||
Ligne 195: | Ligne 195: | ||
</ | </ | ||
+ | =====value_types===== | ||
+ | |||
+ | ====Référence==== | ||
+ | |||
+ | <code cpp> | ||
+ | #include < | ||
+ | |||
+ | struct Y { | ||
+ | Y() : m_ptrX(m_X) {}; | ||
+ | |||
+ | void f() const { | ||
+ | std::cout << "f (const)\n"; | ||
+ | m_ptrX-> | ||
+ | } | ||
+ | |||
+ | void f() { | ||
+ | std::cout << "f (non-const)\n"; | ||
+ | m_ptrX-> | ||
+ | } | ||
+ | |||
+ | xyz:: | ||
+ | X m_X; | ||
+ | }; | ||
+ | </ | ||
+ | |||
+ | Rendu : | ||
+ | |||
+ | < | ||
+ | f (non-const) | ||
+ | g (non-const) | ||
+ | f (const) | ||
+ | g (const) | ||
+ | </ | ||
+ | |||
+ | ====Pointeur / allocation dynamique==== | ||
+ | |||
+ | <code cpp> | ||
+ | #include < | ||
+ | |||
+ | struct Y | ||
+ | { | ||
+ | Y() : m_ptrX(xyz:: | ||
+ | |||
+ | void f() const { | ||
+ | std::cout << "f (const)\n"; | ||
+ | m_ptrX-> | ||
+ | } | ||
+ | |||
+ | void f() { | ||
+ | std::cout << "f (non-const)\n"; | ||
+ | m_ptrX-> | ||
+ | } | ||
+ | |||
+ | xyz:: | ||
+ | }; | ||
+ | </ | ||
+ | |||
+ | Rendu : | ||
+ | |||
+ | < | ||
+ | f (non-const) | ||
+ | g (non-const) | ||
+ | f (const) | ||
+ | g (const) | ||
+ | </ |
prog/cpp/propagate_const.1751818401.txt.gz · Dernière modification : de root