Je suis juste en train d'apprendre C ++ et de tout l'exemple du code que j'ai examiné ces derniers jours, j'ai eu du mal à comprendre où le pointeur doit être placé.
Quelle est la différence dans ces 3? p> ou p> merci pour votre aide. p> p>
3 Réponses :
Vous pouvez choisir de l'écrire comme vous le souhaitez. Typiquement, les programmeurs C ++ placent l'astérisque à côté du type em>, tandis qu'il est plus courant que les programmeurs C puissent placer l'astérisque à côté du nom de la variable p>. P>. Le seul piège à prendre conscience est lorsque vous déclarez plusieurs variables em> sur une seule ligne (que vous ne devriez vraiment pas faire de toute façon, si ce n'est pour cette raison précisément). Par exemple, dans la déclaration suivante, seule la variable comparer celui avec ce qui suit, ce qui en fait beaucoup plus Effacer quelles variables sont des pointeurs: p> au mieux que je peux dire, la troisième syntaxe a émergé comme un mauvais compromis entre les deux options principales. Au lieu de placer l'astérisque à côté de l'un ou de l'autre, quelqu'un a décidé de le placer au milieu, ce qui concerne le seul endroit qu'il fait décidément pas em> appartient. P> p> x code> est déclarée sous forme de pointeur: p>
Personnellement, j'utilise la troisième syntaxe pour la même raison pour laquelle je mets des espaces entre les mots lors de l'écriture anglais, mais c'est juste moi.
@Mike: C'est une perspective intéressante et une personne que je n'ai jamais envisagée. Aussi controversée que l'argument, c'est quelle i> l'information du pointeur modifie, je n'ai jamais vu l'argument selon lequel c'est un élément d'information sémantique (un "mot") tout seul, parfaitement capable de rester seul .
Je n'ai jamais vu l'argument selon lequel WhitSpace a une signification au-delà de la séparation des jetons, le cas échéant, et la mise en place de code d'une manière agréable à l'auteur. Certaines personnes semblent insister sur la lecture d'un sens sémantique profond, cependant.
Personnellement, j'utilise la première syntaxe pour la même raison pour laquelle j'appuie un "s" pour les pluriels en anglais. La façon dont vous écrivez reflète la façon dont vous pensez au code et que certains moyens sont plus productifs que d'autres.
Pourrais-je voter pour marquer cela comme une réponse? L'auteur de la question semble abandonner Stackoverflow en 2011.
algough signifie vraiment p> identique va avec * code> est parfois placé à côté de la variable qu'elle appartient vraiment à la déclaration de type. Donc ce qui suit:
& code>. De plus,
* code>,
const code> et
& code> sont appliqués dans l'ordre de leur proximité avec le type déclaré. Par exemple: P>
const SomeType const x = ...;
(Détypte *) x; code> ne peut être interprété qu'en tant que déclaration d'expression contenant une expression détruite, elle ne peut pas être une déclaration, donc votre "vraiment signifie" n'est pas correcte.
@CHARLES Eh bien, j'ai écrit la remarque à ce sujet de ne pas être une déclaration de type valide. Peut-être que ce n'est pas un bon moyen de le phraser.
Ok, j'ai peut-être mal compris ce que vous vouliez dire.
@Chals j'ai édité ma réponse. Enlevé le bit problématique et ajouté encore plus d'informations en place pour la rendre plus utile.
Aucune différence, mais vous devez faire attention que si vous écrivez:
x = new (char); *x = 'a'; y = 'b';
Vous avez oublié
char * w code> ;-)
@Fred que le style de codage donne des maux de tête de Bjarne Stroustrup. :)
Il y a aussi
Typedef Char * Char_ptr; Char_ptr w; code> ...