lang:cpp:variable
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 | ||
lang:cpp:variable [2019/08/05 16:42] – Fix du sommaire root | lang:cpp:variable [2025/02/06 10:12] (Version actuelle) – Ajout de "Variable optionnelle" root | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====Déclaration des variables==== | ||
===Pointeur sur la méthode d'une classe=== | ===Pointeur sur la méthode d'une classe=== | ||
+ | |||
+ | {{gh> | ||
+ | |||
+ | Exemple avec une fonction utilisant des template avec auto déduction. Dans ce cas, il faudra faire un cast pour donner le type des éléments déduits. | ||
+ | |||
<code cpp> | <code cpp> | ||
- | // La classe | + | struct S5 { |
- | class Classe | + | |
- | { | + | |
- | public: | + | |
- | | + | } |
- | | + | |
- | | + | |
- | // Ici. | + | |
- | const Classe* function2(size_t i) const | + | |
- | | + | |
}; | }; | ||
- | int main() | + | auto ptr = static_cast< |
- | { | + | |
- | // Le pointeur de nom ptr. | + | |
- | const Classe* | + | |
- | Classe C; | + | |
- | (C.*ptr)(2); | + | |
- | } | + | |
</ | </ | ||
- | ===Connaître le type d' | + | [[https:// |
- | Cela se fait en lisant le message d' | + | |
- | < | + | ===Variable optionnelle=== |
- | template< | + | |
- | int main() { | + | Création une variable '' |
- | auto x = ...; | + | |
- | S<decltype(x)>(); | + | <code cpp> |
- | } | + | std:: |
</ | </ | ||
- | Message d' | + | ====Programmation fonctionnelle==== |
- | utilisation du type non défini ' | + | |
- | [[https:// | + | ===Initialisation complexe d'une constante=== |
+ | Plutôt que | ||
+ | |||
+ | {{gh> | ||
+ | |||
+ | écrire | ||
+ | |||
+ | {{gh> | ||
+ | |||
+ | ====Erreurs==== | ||
+ | |||
+ | * '' | ||
+ | |||
+ | Parfois, il n'est pas possible de faire: | ||
+ | |||
+ | <code cpp> | ||
+ | int i; | ||
+ | int& j = i; | ||
+ | </ | ||
+ | |||
+ | Il faut alors soit passer par une référence constante : | ||
+ | |||
+ | <code cpp> | ||
+ | int i; | ||
+ | const int& j = i; | ||
+ | </ | ||
+ | |||
+ | ou passer par un pointeur : | ||
+ | |||
+ | <code cpp> | ||
+ | int i; | ||
+ | int* j = &i; | ||
+ | </ | ||
+ | [[https:// |
lang/cpp/variable.1565016146.txt.gz · Dernière modification : 2019/08/05 16:42 de root