J'ai la classe de modèle qui ressemble à ceci:C++: membre de la classe d'accès par la méthode comme membre
template<int n=3> struct Vec{
double Values[n];
};
Bien sûr, je peux accéder à des éléments de cette classe directement ou par la méthode, par exemple:
double& x(){
return Values[0];
}
Mais si je voudrais rendre le code plus intuitif: au lieu de
Vec<3> v;
v.x() = 5.2;
Je voudrais permettre à l'utilisateur le faire par: v.x = 5.2
. Ce n'est pas seulement un caprice. Si j'ai une bibliothèque existante qui utilise des structures vectorielles simples d'une forme comme struct{double x,y,z;}
, je pourrais par la méthode de dactylographie créer ma classe de modèle pour être efficace dans ce cas. Bien sûr, je pourrais (probablement, je ne suis pas sûr) passer à cette bibliothèque prédéfinie structure de referenes - comme: struct{double &x=v.Values[0], &y=v.Values[1], &z=v.Values[2];}
mais je crains que ce n'est pas le moyen le plus simple d'obtenir un but. Ah - bien sûr, je pourrais ajouter des paramètres de type référence dans ma structure, mais cela entraînerait une augmentation de la taille des éléments.
pourquoi pensez-vous qu'un tableau sera plus efficace que l'accès variable discrète? –
Si vous avez une méthode pour modéliser un certain nombre de variables discrètes, je veux le savoir :) – Ch3shire
Peut-être que vous cherchez un std :: tuple <...> comme modèle. Vous pouvez récupérer des éléments de tuple en utilisant le std :: get < INDEX > et les définir en utilisant std :: tie et ainsi de suite? – JimmyNJ