Bonjour à tous,

J'ai un code de calcul qui a manifestement de gros problèmes de mémoires. En effet, quand je fais un décompte "grossier" des données utilisées par ce dernier et que je compare à ce que me donne le gestionnaire de ressources Windows, il semble que je consomme bien d'avantage que je ne le croyais.

Pouvez-vous donc me dire lesquelles des grandeurs suivantes seront désallouées à la sortie de ? Lesquelles ne le seront pas ? Et pourquoi ?

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
 
void func()
{
    vector<double > vec_var;
    vector<double* > vec_ptr;
    double a = 1.0;
    double* b = nullptr;
    double* c = &a;
    double &d = a;
 
    for ( int i = 0; i<10000; i++)
    {
        vec_var.push_back(a);
        vec_ptr.push_back(&a);
    }
}
A priori et le sont mais je suis pris d'un doute pour les autres car je viens de découvrir que ne l'est pas... Vous confirmez ?

Merci d'avance pour votre aide