La portée des variables (partie 2)




c ++, variables locales et globales, la portée des variables, c ++ débutants, espace de nomsVous avez été présenté au premier article sur le sujet variables locales et globales. Le champ d'application en C ++. Je voudrais un peu plus à son complément. A savoir par exemple avec namespaces. J'ai écrit un préfixe est pas en vain std:: avant l'instruction de sortie cout. et endl. Il est également l'une des possibilités de formations – espace de noms. Si tu ne vas pas dans les détails spécifiques, espace de noms, est un groupe d'opérateurs / fonction / les variables / types, unis dans cette déclaration “fraction” nommé std.

std espace de noms du fichier d'en-tête (header dans notre) iostream. cout, gin, endl et al. – tout cela “dynastie” std. Si vous ne branchez dans le code et écrivez std:: avant que ces opérateurs, C ++ dira “de laisser le revoir”. Parce qu'il ne sait pas, quelle est cette cout sans “nom de famille”. En passant en C ++ et inventé l'opérateur using namespace, qui vous permet d'écrire le nom de l'espace comme préfixe à chacun de ses opérateurs membres . Cela se fait pour plus de commodité, mais vous devez veiller à ce que l'opérateur, s'il existe une fonction du même nom utilisé dans le programme à partir de différents espaces de noms.

espace de noms bien là, où il est nécessaire de regrouper quelque chose dans la zone de visibilité par le nom. Par exemple, dans le programme deux fonctions différentes peuvent être décrites par somme(). On retourne un entier, deuxième réelle. Si la tâche ne peut pas être décrit comme surchargé, il peut être vissé dans l'espace de noms:

L'espace de noms définit un champ ici pour diverses fonctions avec le même nom. À l'extérieur n'existe pas l'espace de nommage de ces fonctions,.

c ++, variables locales et globales, la portée des variables, c ++ débutants, espace de noms

En général, un espace de noms peut devenir un point de discorde concernant la portée de la théorie. En fait, il est juste un groupe nommé, mais il a le même effet, ainsi qu'un bloc d'instructions {…}. Voulez-vous appliquer aux opérateurs de cet espace – être bon pour prendre la première à l'espace de nom: entier :: somme() colon Tut :: – une extension de l'opérateur du champ d'application.

Peut-être le dernier, nous pouvons dire – le champ d'application est très révélatrice de l'OLP (Programmation Orientée Objet). quand classe programmeur décrit privé propriété (méthode variable ou une fonction), il lui demande de portée. Par exemple, dans le code de type:

propriétés k et kc Ils ont des portées différentes. Le premier est disponible uniquement dans les méthodes de classe. Car il ne peut pas être consulté dans le programme principal, il est privé (privé ). Fermé à tous, sauf dans la zone de visibilité de la classe.

La seconde publique (public). Son champ d'action va au-delà de la classe. À partir du programme, qui sera appelé un objet de cette classe est disponible.

c ++, variables locales et globales, la portée des variables, c ++ débutants, espace de noms

kc Il est déclaré comme une variable publique, son champ d'application, à la différence du changement k , plus. Par conséquent, le compilateur ne pas contre son utilisation en dehors de la classe.

Que pouvons-nous tirer de tout cette conclusion? Geeks écume à la bouche en criant sur tous les portails – “A bas les variables globales!”. Connaisseurs comme pour limiter la portée de visibilité, la localisation et l'emballage tout en classes ou namespaces. Geeks ont booms. Le programmeur ne doit pas abuser de la portée, ne pas obtenir, interprétation, quand pour faire référence à une variable que vous devez écrire le chemin. à savoir. quelque chose comme mon nom::groupe 1::PeremenkiDlaPrepoda::je Eh bien, une boîte de conserve.

L'utilisation de variables globales, ainsi que le local devrait être judicieusement – le cas échéant écrire mondiale. Lorsqu'il n'y a pas – localiser.

Si vous ne l'avez pas regardé la vidéo sur le sujet champ d'application en C ++ dans la leçon précédente – spécialement pour vous de placer ici:

Bulletin de nouvelles leçons sur la programmation:

La portée des variables (partie 2)
5 (100%) 2 votes

Laisser un commentaire

Votre adresse email ne sera pas publiée. les champs requis sont indiqués *