Bonjour, voici mon problème, je développe une application en c++, j'ai un bug à un endroit dans le programme. Le programme ne plante pas mais les résultats sont relativement exotiques...

En fait j'ai fait quelques tests et mon programme ne renvoie pas d'erreur de segmentation, même avec du code qui en toute évidence devraient planter joliment.

Par exemple le code suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
vector<int> vect  (1);
             cout<<"valeur bidon: "<<vect[-1]<<endl;
me renvoie 1016 en sortie console.

De même le code suivant qui devrait aussi générer une jolie erreur de segmentation ne fait absolument pas planter le programme:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
   int *pointeur, valeur;
   valeur = 3;
   *pointeur = valeur * valeur;
En allant un peu plus loin dans mon obstination à générer une erreur de segmentation, j'ai écrit le code suivant:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
int *super_pointeur=(int *) 10;
	int vm =*super_pointeur;
Là non plus pas de plantage...


Je précise que j'utilise mingw avec gcc-g++ 4.3.0 sous windows XP. Le comportement est le même en debug (en -w et -pg) et en release ( -O3 et -fexpensive-optimization).

Je ne comprends vraiment pas d'où vient ce comportement pour le moins exotique et j'ai vraiment besoin de savoir d'où vient mon bug (probablement une erreur de segmentation).

Cordialement,