Je ai une matrice M[2][2]
et que vous voulez faire un appel à la fonction dontModify(M)
qui va jouer avec les éléments de M, mais pas les changer. Quelque chose comme:Passer le pointeur sur la fonction SANS modifier l'argument?
dontModify(M):
swap off-diagonal elements;
take determinant of M;
return determinant;
... mais sans avoir la fonction changer M dans le processus. Quelque chose de pratique qui permettrait d'accomplir cela?
Vous pouvez utiliser le mot-clé const lors de la transmission de votre argument. Mais vous devrez faire attention lorsque vous passez votre pointeur. Il y a deux façons de const-corriger: Conserver le pointeur et retaper la valeur vers laquelle il pointe. Si vous voulez être sûr, essayez deModifier (M const * const pointerM). Considérons [ceci] (http://en.wikipedia.org/wiki/Const-correctness). –