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
