Plus de deux pointeurs en c ou en c++ pas pris en charge. pourquoi?

Pourquoi plus de deux pointeurs sont pas pris en charge en c ou c++.

Quand je le fais,

int *ptr,*ptr1;
int sum = ptr + ptr1;

C ou C++ renvoie une erreur. Tandis qu'il soutient,

int diff = ptr - ptr1;
Posez-vous la question, comment ajouter des pointeurs être d'une vraie utilité en opposition à la soustraction?
Qu'attendez-vous de la somme est pointée? Ce n'est probablement pas pris en charge car il n'est pas utile (et potentiellement une source de bugs)
Pensez-y de cette façon. En soustrayant le nombre d'une maison dans une rue à partir d'un autre numéro de maison dans la rue vous donne le nombre de maisons d'entre eux (plus un. j'.e #2 - #1 = 1 = 0 + 1). Pourtant, si vous ajoutez le numéro d'une maison à l'autre, qu'est-ce exactement avez-vous? Vous pouvez penser à des pointeurs comme des numéros de maison. Le nombre lui-même est pratiquement vide de sens - c'est seulement un moyen de trouver une maison particulière, ou, dans le cas des pointeurs - il un moyen de remédier à une pièce particulière de la mémoire.
Bien sûr, qui peut être réalisé sans pointeur de plus middle = begin + (end-begin)/2
Heureusement, nous sommes de programmation et de ne pas faire des mathématiques! 😉

OriginalL'auteur vignesh babu | 2014-09-04