Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Basic Syntax of Templates in C++ | Creazione del Primo Template
Template C++

Basic Syntax of Templates in C++

Scorri per mostrare il menu

La creazione di un template è in realtà piuttosto semplice ed è una delle parti più facili del loro utilizzo. Per iniziare, è necessario creare una funzione o una classe. Inizieremo con la funzione.

main.cpp

main.cpp

123456
void MyFirstTemplate() { } int main() { MyFirstTemplate(); }

Come puoi vedere, c'è una funzione molto semplice che per ora non fa nulla. Possiamo facilmente chiamarla all'interno della funzione main. Il tuo compito ora è trasformarla in un template.

template.h

template.h

123456789101112
// To create a template, you need to add code above the function or class // Start with the keyword `template` to indicate you're defining a template // template // Add angle brackets `<>`, this is list of the parameters for template // template < > // Inside of it has to be keyword `typename` and the name of it // template <typename Name> template <typename Name> void MyFirstTemplate() { }

Ora, facciamolo eseguire un'azione, come stampare un messaggio. Provalo chiamandolo all'interno della funzione main per vederlo in azione.

main.cpp

main.cpp

123456789101112
#include <iostream> template<typename Name> void MyFirstTemplate() { std::cout << "c<>definity" << std::endl; } int main() { MyFirstTemplate(); }

Come puoi vedere, si verifica un errore quando provi a chiamarla come se fosse una funzione normale. Questo accade perché non è più semplicemente una funzione. A questo punto, il parametro del template specificato tra le parentesi angolari dopo la parola chiave template diventa essenziale.

main.cpp

main.cpp

12345678910111213
#include <iostream> // This essentioally creates an alias for a type you will use template<typename Name> // In this case the name of the type is Name void MyFirstTemplate() { std::cout << "c<>definity" << std::endl; } int main() { // In order to call the template function properly // You need to specify any type inside the brackets MyFirstTemplate<void>(); // This tells the template to use void as the type for Name }
Note
Nota

Non importa quale tipo specifichi per questo esempio, quindi puoi cambiare void con qualsiasi tipo desideri. Tuttavia, la specifica del tipo è obbligatoria.

Per il template di funzione MyFirstTemplate, non è necessario specificare un nome per il parametro di tipo. Puoi rimuovere Name e tutto funzionerà comunque perché il parametro di tipo non viene utilizzato all'interno della funzione.

question mark

Qual è la sintassi corretta per dichiarare una funzione template?

Seleziona la risposta corretta

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 2

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Sezione 1. Capitolo 2
some-alt