lang:cpp:variable
Ceci est une ancienne révision du document !
Pointeur sur la méthode d'une classe
// La classe class Classe { public: // Pas ici. const Classe* function(size_t i) const { return this; } // Ici. const Classe* function2(size_t i) const { return this; } }; int main() { // Le pointeur de nom ptr. const Classe* (Classe::*ptr)(size_t i) const = &Classe::function2; Classe C; (C.*ptr)(2); }
Connaître le type d'une variable auto à la compilation
Cela se fait en lisant le message d'erreur à la compilation.
template<class Type> struct S; int main() { auto x = ...; S<decltype(x)>(); }
Message d'erreur possible (le type est le template de la structure S) :
utilisation du type non défini 'S<const std::list<unsigned char> &>'
Retrieving the type of auto in C++11 without executing the program Archive du 25/07/2019
Pointer vers une classe template depuis une classe sans template
Il faut mettre une interface commune sans template à la classe template.
struct BaseExample { virtual void do_stuff() = 0; virtual ~BaseExample() {} }; template <typename T> struct Example : BaseExample { ... }; // .. BaseExample *obj;
How can I declare a template pointer without knowing the type? Archive du 05/08/2019
lang/cpp/variable.1565016289.txt.gz · Dernière modification : 2019/08/05 16:44 de root