Cref C ++

Cref C ++

C ++ è un linguaggio di programmazione elevato che viene più comunemente utilizzato per lo sviluppo del gioco e lo sviluppo del sistema operativo. Fornisce alcune utili funzioni integrate che rendono molto più semplice la programmazione in C ++. Queste funzioni integrate consentono di creare facilmente qualsiasi tipo di applicazione semplice o complessa. L'utente può svolgere enormi funzioni semplicemente includendo la funzione integrata nel programma. Questo articolo ti aiuterà a imparare il funzionamento della funzione Cref () integrata di C++. Qui definiremo la funzione di Cref () e ti aiuteremo a capire il funzionamento dimostrando alcuni esempi utili.

Qual è la funzione Cref () C ++?

Il Cref () è una funzione integrata del linguaggio di programmazione C ++ fornito nella libreria standard Reference_Wrapper. È una funzione helper che utilizza la detrazione dell'argomento del modello per generare un oggetto di tipo di riferimento_wrapper mentre si determina l'argomento del modello del risultato.

In parole semplici, la funzione Cref () viene utilizzata per creare un wrapper di riferimento. Il wrapper di riferimento è un metodo per trasmettere il riferimento di un argomento a una funzione anziché al valore effettivo. Quando il controllo è all'interno della funzione, il riferimento del parametro viene utilizzato per accedere al valore effettivo, non apportando modifiche al valore originale ma al valore di riferimento. Ciò è utile quando l'utente non vuole modificare il valore originale ma deve usarli per ulteriori calcoli.

Sintassi della funzione Cref () C ++:

La sintassi corretta della funzione Cref () è la seguente:

La funzione Cref () prende un argomento come input che deve essere avvolto e restituisce l'oggetto wrapper di riferimento per contenere l'elemento "parametro const". Ora, esploriamo alcuni esempi per capire meglio il funzionamento della funzione Cref (). Seguendo gli utili esempi forniti, puoi imparare ad implementare la funzione Cref () nei programmi e sviluppare buone applicazioni.

Esempio 1:

Questo primo esempio dell'articolo Cref () definisce l'uso di base della funzione Cref () nel linguaggio di programmazione C ++. Vedere il seguente codice e comprendere il funzionamento di ogni riga passo per passo.

La prima riga include la libreria "iostream" nel programma in modo che il programma possa utilizzare la funzionalità di output di input standard del linguaggio di programmazione C ++. La libreria "iostream" standard ti consente di utilizzare CIN, COUT e altre funzioni per rendere utilizzabile il tuo programma. Il file di intestazione "funzionale" fa parte della libreria standard fornita dal linguaggio di programmazione C ++. Offre un set predefinito di modelli di classe per eseguire diverse funzioni. Include la creazione della logica, l'esecuzione di confronti, diverse operazioni aritmetiche, ecc. Il programma inizia con la funzione principale (). Il codice completo è scritto nella funzione principale ().

La prima riga di codice nella funzione principale () è "int ref (9)". Si chiama la funzione "Rif" e passa "9" come parametro alla funzione "Ref". Successivamente, "auto Ren = std :: cref (ref);" è definito. Questa linea crea un involucro di riferimento del "Rif". Il "Ref ++" aggiunge 1 nel parametro dato che è 9. Quindi, il "Rif ++" diventa 10. Il valore calcolato viene passato all'istruzione Cout in modo che possa essere stampato. L'istruzione Return 0 si assicura che l'output venga restituito correttamente. Se c'è qualche errore, il reso 0 aumenta l'eccezione.

Per compilare ed eseguire il programma, è necessario premere "Compile & Run" sulla barra delle applicazioni. Oppure puoi semplicemente premere il tasto funzione "F11" sulla tastiera. Controlla l'output indicato nel seguente:

Come puoi vedere, l'output è 10 che è esattamente ciò che abbiamo calcolato manualmente.

Esempio 2:

Questo esempio dimostra l'eccezione sollevata dal compilatore quando l'utente desidera apportare modifiche dirette al valore di riferimento originale. Puoi trovare il codice per la tua comprensione nella seguente illustrazione.

La funzione utilizza le stesse librerie utilizzate nell'esempio precedente. La funzione "void f (const int & n)" è definita all'inizio del programma. Prende l'input dalla funzione principale e cerca di manipolarlo. L'istruzione Cout stampa il valore quando il controllo è nella funzione.

L'istruzione "N ++" incrementa N con 1. Nella funzione principale, "n" è inizializzato con 1. La "funzione std :: limite_f = std :: bind (f, std :: cref (n));" L'istruzione viene utilizzata per limitare la funzione "F" con il valore del wrapper di riferimento. Le due istruzioni Cout vengono utilizzate per stampare i valori quando il controllo è nella funzione principale. La prima istruzione Cout stampa il valore prima di chiamare la funzione figlio. La seconda istruzione Cout stampa il valore dopo aver chiamato la funzione figlio.

Premere "F11" nei tasti della funzione o nell'icona di compilazione sulla barra delle applicazioni per eseguire il programma.

Ecco l'output prodotto dal programma:

Quando esegui questo codice, otterrai un errore "incremento del riferimento di sola lettura" N '". Questo accade perché abbiamo passato il wrapper di riferimento al "const int & n" nella funzione figlio. Il "const" non consente di apportare modifiche al parametro wrapper. Quindi, solleva un errore.

Esempio 3:

Il prossimo esempio è una versione un po 'più complessa del primo esempio. Qui, definiamo le tre variabili e le passiamo alla funzione figlio ciascuna, diversamente. Il primo argomento viene superato semplicemente senza creare un wrapper di riferimento. Tuttavia, gli altri due numeri di input vengono forniti dopo aver creato l'involucro di riferimento. Fare riferimento al seguente codice fornito:

Il resto del programma è lo stesso di quello che è stato dato nel secondo esempio. L'unica differenza è che forniamo tre input e non facciamo costante di input. La funzione di bind lega la funzione figlio con i parametri di input. L'output dopo l'esecuzione del programma è il seguente:

Si noti che i valori prima di chiamare la funzione figlio e quando il controllo è nella funzione figlio sono gli stessi. Tuttavia, quando il controllo ritorna alla funzione principale, tutti i valori di input sono incrementati di 1. Ciò accade perché l'incremento degli input viene calcolato nella funzione figlio e ritorna alla funzione principale.

Conclusione

In questa guida, apprendiamo la funzione Cref () del linguaggio di programmazione C ++. La funzione Cref () viene utilizzata per calcolare il wrapper di riferimento dell'input dato. Con l'aiuto di esempi, abbiamo imparato a implementare la funzione Cref () nel programma C ++.