C++: Const exactitude et pointeur arguments

Je comprends qu'un pointeur const peut être déclaré un couple de façons:

const int * intPtr1; //Declares a pointer that cannot be changed.
int * const intPtr2; //Declares a pointer whose contents cannot be changed.

//EDIT: THE ABOVE CLAIMS ARE INCORRECT, PLEASE READ THE ANSWERS.

Mais ce sur les mêmes principes dans le contexte des arguments d'une fonction?

Je suppose que la suite est redondant:

void someFunc1(const int * arg);
void someFunc2(int * arg);

Depuis someFunc 1 et 2 de faire un passe-par-valeur pour le pointeur lui-même, il est impossible pour someFunc1 pour modifier la valeur du pointeur d'origine, dans un appel à la fonction. Pour illustrer:

int i = 5;
int * iPtr = &i;

someFunc1(iPtr); //The value of iPtr is copied in and thus cannot be changed by someFunc1.

Si elles sont vraies, alors il n'y a pas de point en plus de la déclaration d'une fonction avec un " const int * ptr type arg, correct?

Vous avez vos déclarations dans le mauvais sens. "const int *" est une variable pointeur vers un immuable int. int * const" est immuable pointeur vers une variable de type int.
Non, vous avez tout faux.
Modifié la question, de sorte que la gâchette googlers ne pourra pas disparaître mal informés. J'ai quitté l'erreur en sorte que les réponses ont encore ce contexte.

OriginalL'auteur Ben | 2012-01-10