La portata delle variabili (parte 2)




C ++, variabili locali e globali, l'ambito delle variabili, C ++ principianti, namespaceHanno descritto il primo articolo sul tema Le variabili locali e globali. La portata in C ++. Хотелось бы ещё немного дополнить её. А именно примером с пространствами имен. Ho scritto un prefisso non è vana std:: prima della dichiarazione di uscita cout. e endl. E 'anche uno dell'ambito formazioni – namespace. Se non entrare nei dettagli specifici, namespace, è un certo gruppo di operatori / funzione / variabili / tipi, uniti in questa Normativa “frazione” detto std.

std namespace del file di intestazione (intestazione nel nostro) iostream. cout, gin, endl et al. – tutto “dinastia” std. Se non si collega nel codice e scrivere std:: prima di questi operatori, C ++ lo dirà “addio di lasciare”. Perché lui non lo sa, che cosa è questo cout quindi, senza “cognome”. Tra l'altro in C ++ e coniato l'operatore using namespace, который позволяет не писать имя пространства в качестве префикса к каждому входящему в него оператору . Questo viene fatto per convenienza, ma è necessario fare attenzione che l'operatore, se vi è una funzione dello stesso nome utilizzato nel programma di diversi namespace.

namespace bene lì, dove è necessario raggruppare qualcosa nella regione di visibilità per nome. Ad esempio nel programma due funzioni diverse possono essere descritti da somma(). Un restituisce un intero, secondo reale. Se l'attività non può essere descritto come stracarico, può essere avvitato nel loro namespace:

Lo spazio dei nomi definisce un ambito qui per le varie funzioni con lo stesso nome. Fuori il namespace di queste funzioni non esiste.

C ++, variabili locali e globali, l'ambito delle variabili, C ++ principianti, namespace

In generale, un namespace può diventare un punto di contesa relativa alla portata della teoria. In realtà è solo un gruppo denominato, ma ha lo stesso effetto, nonché un blocco di istruzioni {…}. Хочешь обратиться к операторам из этого пространства – essere gentile girare prima allo spazio nome: numero intero :: somma() Тут двоеточие :: – l'estensione del campo di applicazione operatore.

Forse l'ultima, possiamo dire – il campo di applicazione è molto rivelatrice nel PLO (Object Oriented Programming). quando classe programmatore descrive privato proprietà (Metodo variabile o funzione), chiede il suo campo di applicazione. Ad esempio, nel codice tipo:

proprietà K e kc Hanno diversi ambiti. Il primo è disponibile solo nei metodi di classe. Perché non è possibile accedere al programma principale, è privata (privato ). Chiusa a tutti, tranne nella regione di visibilità della classe.

Il secondo pubblico (pubblico). Её область видимости выходит за пределы класса. Dal programma, che sarà chiamato un oggetto di questa classe è disponibile.

C ++, variabili locali e globali, l'ambito delle variabili, C ++ principianti, namespace

kc Si è dichiarata come una variabile pubblica, sua portata, a differenza del cambiamento K , più ampia. Pertanto, il compilatore non fa contro il suo uso fuori della classe.

Quello che possiamo trarre da tutto questo la conclusione? Geeks la bava alla bocca che urla su tutti i portali – “Abbasso le variabili globali!”. Geeks, come per limitare l'ambito di visibilità, l'individuazione e l'imballaggio tutto in classi o spazi dei nomi. Geeks hanno bracci. Il programmatore non deve abusare della portata, Non per ottenere, interpretazione, quando per fare riferimento a una variabile è necessario scrivere nel modo. vale a dire. qualcosa di simile il mio nome::group1::PeremenkiDlaPrepoda::io Ну жесть просто.

L'uso di variabili globali, insieme con il locale dovrebbe essere saggezza – se del caso, scrivere globale. Dove non c'è – localizzare.

Se non avete visto il video sulla portata soggetto in C ++ nella lezione precedente – appositamente per voi a mettere qui:

Newsletter nuove lezioni sulla programmazione:

Summary
Область видимости переменных С++
Article Name
Область видимости переменных С++
Description
Вы уже познакомились с темой Локальные и глобальные переменные. La portata in C ++. Хочу ещё немного дополнить её. А именно примером с пространствами имен. video
Author

Lascia un Commento

Inserire il codice nei tag: <pre class="lang:C ++ decodifica:true ">IL TUO CODICE</pre>