Voilà je cherche à sécuriser mon code pour repérer un éventuel dépassement de la mémoire lorsque j'utilise un iterator d'un vector (par exemple) :
function copieApreTraitements(std::vector _v){ std::vector v1, v2; //Traitements v1.assign(_v.begin(), _v.begin() + 8); // risque ici //Traitements v2.assign(_v.begin()+8, _v.end()); // risque ici }
Cette fonction n'est qu'un exemple et les traitements intermédiaires n'ont rien à voir avec ma question.
Mais en utilisant cette fonction avec comme parametre un vector dont le nombre d'entrée est de 4, je vais produire une très jolie erreur de dépassement de mémoire. j'ai essayer un bloc try - catch mais ça n'a pas l'air de relever une exception :?
Je pourrais tester la taille du vector passé en argument de ma fonction mais là n'est pas le but de ma question.
Ce que j'aimerais si possible, c'est d'avoir un comportement simillaire à la méthode at() d'un vector (sachant que at() n'as pas grand chose a voir avec les iterator je me retrouve un peu coincé). :oops:
Sans pour autant passer à JAVA :lol: :lol: :lol: