Bonjour,
Je souhaiterai cr�er une fonction afin de g�n�rer des noms uniques de vector persistent.
Ces vectors seront �ffac�s via une autre fonction.
Chaque appel de la fonction doit cr�er un nom unique de vector.
Cet appel doit pas �tre �cras� par l'appel suivant.

Exemple :
Appel 1 :
+ Cr�ation d'un vector Liste_0 et de son contenu
Appel 2 :
+ Cr�ation d'un vector Liste_1 et de son contenu
Appel ... :

Le probl�me c'est que le nom des variables en C++ est statique et que chaque variable doit �tre d�clar�e avec un nom d�fini d'avance.

Peut-on cr��er une fonction g�n�ratrice de nom unique aux vector C++ ?
Sur d'autres languages cela se fait !

Sur la base d'un code d'exemple ci dessous, j'ai t�nt� sur un autre code, de cr�eer un nom unique via une macro pour un vector.
J'ai bien le vector sans erreur, mais je n'arrive pas � exploiter.

Code vector persistent classique
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <utility>
 
using std::cout;
using std::end;
using std::string;
using std::atoi;
using std::to_string;
using std::vector;
using std::pair;
using std::make_pair;
using std::sort;
 
int main(){
 
     int64_t I64_V1D_Taille{};
 
     static vector<int64_t>Liste{};
 
     I64_V1D_Taille = Liste.size();
 
     cout << I64_V1D_Taille << end;
 
     Liste.clear();
 
}
Tentative de cr�ation d'un nom unique avec une macro

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
 
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <utility>
 
using std::cout;
using std::end;
using std::string;
using std::atoi;
using std::to_string;
using std::vector;
using std::pair;
using std::make_pair;
using std::sort;
 
#define CONCAT(a, b) CONCAT_INNER(a, b)
#define CONCAT_INNER(a, b) a ## b
 
#define UNIQUE_NAME(base) CONCAT(base, __COUNTER__)
 
int main(){
 
     int64_t I64_V1D_Taille{};
 
     static vector<int64_t>UNIQUE_NAME(Liste){};//fonctionne
 
     /*I64_V1D_Taille = UNIQUE_NAME(Liste).size(); //error C2065: 'Liste3': undeclared identifier*/
 
     //cout << I64_V1D_Taille << end;
 
}