Quelqu'un peut-il expliquer comment les variables statiques dans les fonctions membres fonctionnent en C ++.
Compte tenu de la classe suivante:
class A {
   void foo() {
      static int i;
      i++;
   }
}
Si je déclare plusieurs instances de A, l'appel foo()d'une instance incrémente-t-il la variable statique isur toutes les instances? Ou seulement celui sur lequel il était appelé?
J'ai supposé que chaque instance aurait sa propre copie de i, mais parcourir un certain code que j'ai semble indiquer le contraire.

static int ispécifique à l'instance, de sorte que par exempleo1.foo(); // i = 1et$o2.foo(); // i = 1...?