struct Foo { char * DataPtr; };Const-Correctness sur la valeur de retour complexe
class ISomeInterface {
public:
Foo GetFoo() const;
Foo GetFoo();
};
Le Foo::DataPtr
est un pointeur vers un tampon interne de l'objet behing ISomeInterface
. Est-il un moyen de s'assurer que le Foo::DataPtr
retourné par la version const de ISomeInterface::GetFoo
est un const char *
?
Foo :: DataPtr est un type donc char const * - que voulez-vous dire - si vous voulez que vous renvoyez char const * alors déclarez simplement comme char const * GetFoo() cons; – Mark
Foo :: DataPtr n'est pas un type mais un membre de la structure Foo avec le type char * (ou const char *). Dans le monde réel, Foo est plus complexe, donc retourner un char * (ou const char *) n'est pas une option. –