Les pointeurs dans les opérateurs de comparaison de support C et C++ prennent-ils en charge les opérateurs de comparaison (>
, <
, etc.)?Comparaison de pointeurs
Je veux comparer les positions de tableau pour être précis.
Les pointeurs dans les opérateurs de comparaison de support C et C++ prennent-ils en charge les opérateurs de comparaison (>
, <
, etc.)?Comparaison de pointeurs
Je veux comparer les positions de tableau pour être précis.
Dans un tableau contigu comparant les offsets de mémoire (pointeurs) est OK. Si votre tableau est implémenté sous la forme d'une liste chaînée (par exemple), les nœuds peuvent être entièrement en mémoire, de sorte que la comparaison de pointeurs est absurde.
merci pour votre réponse. – fsdemir
Notez que le comportement de la comparaison des pointeurs qui ne pointent pas sur le même tableau est indéfini. – avakar
Notez qu'en C++, l'opérateur() de std :: less
Oui, ils peuvent être comparés. Par exemple, voir «Opérateurs relationnels» dans les normes pour plus d'informations, 6.5.8 dans C99 et 5.9 dans l'ancien brouillon de C++ (2006-11).
Avec le caviat que les pointeurs doivent pointer vers le même morceau contigu de la mémoire qui était alloués en une seule allocation. Deux pointeurs aléatoires ne peuvent pas être comparés. –
Dupe de http://stackoverflow.com/questions/1098966/universal-less-for-pointers-in-c-standard parmi d'autres –