Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Creating Your First Template in C++ | Creating First Template
C++ Templates
course content

Kursinnhold

C++ Templates

C++ Templates

1. Creating First Template
2. Templates Usage
3. Class Templates
4. Template Specialization

book
Creating Your First Template in C++

Let's see what is happening when we specify different types for the template. For this we will use typeid().name(), it simply shows the data type of the variable. Look at the example below:

cpp

main

copy
1234567
#include <iostream> int main() { int x = 5; std::cout << typeid(x).name(); }

Note

The code snippet above will just display in console i, symbolizing that x is an int.

Let's create a template using <typename Type> and pass Type as a parameter to the function instead of specifying a specific variable.

cpp

main

copy
12345678910111213
#include <iostream> template<typename Type> void check_type() { std::cout << typeid(Type).name() << std::endl; } int main() { // Try to change `int` to different type check_type<int>(); }

As you can see, when you call the template function and specify a type within the brackets, the typename parameter receives that type. The name of the template parameter essentially becomes an alias for that type.

Oppgave

Swipe to start coding

  1. Turn the swap function into a template function:
    1. define template using the template keyword;
    2. add the list of template parameters;
    3. add one parameter for the template.
  2. Change all types (int) to the typename from the template parameter.
  3. Call the template function and pass char as the type, swapping two variables in the main function.

Løsning

cpp

solution

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 3
toggle bottom row

book
Creating Your First Template in C++

Let's see what is happening when we specify different types for the template. For this we will use typeid().name(), it simply shows the data type of the variable. Look at the example below:

cpp

main

copy
1234567
#include <iostream> int main() { int x = 5; std::cout << typeid(x).name(); }

Note

The code snippet above will just display in console i, symbolizing that x is an int.

Let's create a template using <typename Type> and pass Type as a parameter to the function instead of specifying a specific variable.

cpp

main

copy
12345678910111213
#include <iostream> template<typename Type> void check_type() { std::cout << typeid(Type).name() << std::endl; } int main() { // Try to change `int` to different type check_type<int>(); }

As you can see, when you call the template function and specify a type within the brackets, the typename parameter receives that type. The name of the template parameter essentially becomes an alias for that type.

Oppgave

Swipe to start coding

  1. Turn the swap function into a template function:
    1. define template using the template keyword;
    2. add the list of template parameters;
    3. add one parameter for the template.
  2. Change all types (int) to the typename from the template parameter.
  3. Call the template function and pass char as the type, swapping two variables in the main function.

Løsning

cpp

solution

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 3
Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Vi beklager at noe gikk galt. Hva skjedde?
some-alt