valeur par reference et array

a marqué ce sujet comme résolu.

Bonjour, Dans le cadre d’un petit projet,je me suis mis a me poser une question qui pourrait surement me faciliter un algorithme. La question est: Peut on remplir un std::array avec des valeur par référence. Je m’explique:

int main()
{
    int val{6};
    std::array<int, 1> t{ val };
    t[0] = 1;
}

j’aimerais faire un programme dans se style ,mais je voudrais que quand on change t[0] la valeur de de val change aussi. J’ai fait des recherche mais je n’est vu personne parlé de cela . donc je ne sais pas si c’est possible ou si un autre conteneur permet sa.

Merci pour vos réponse

+0 -0

Pourquoi ne pas utiliser un tableau de référence tout simplement ?

Ensuite, ne peux-tu pas prendre le problème différemment, c’est-à-dire que val soit une référence vers t[0] ?

Pour finir, en C on aurait fait un union pour ça.

+0 -0

Non, il n’est pas possible de mettre directement des références dans un array dans le sens où il n’est pas possible de construire un std::array<int&, 1>.

Fonctionnellement, un tableau de pointeur est équivalent donc tu devrais t’en sortir en utilisant ça:

int main() {
  int val{6};
  std::array<int*, 1> t{&val};
  *t[0] = 1;
}

@Berdes: Je prenais le sens référence, au sens d’un objet qui se réfère à un autre. Pas au sens référence C++. Un pointeur ou autre.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte