Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Typename Parameter as a Return Type | Templates Usage
C++ Templates
course content

Course Content

C++ Templates

C++ Templates

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

book
Typename Parameter as a Return Type

Templates are not just for defining the types of parameters. A powerful feature of templates is that the return type of a function can also depend on the template parameter. This gives you the flexibility to create generic functions with return types that adjust based on the template type provided.

cpp

main

copy
1234567891011121314
#include <iostream> template<typename T> T MyFirstTemplateReturn() { // Returning a default-initialized value of type T return T{}; } int main() { // Call the template with the void type std::cout << typeid(MyFirstTemplateReturn<void>()).name() << std::endl; }

In the example above, the function's return type is defined by the template parameter T. When we specify void as the type, the compiler interprets it accordingly.

Task
test

Swipe to show code editor

Create a simple template that returns the passed value

  1. Write a simple template function called GetValue.
  2. Use the template's typename parameter as the return type.
  3. Add a parameter to the template function with the same type as the return type.
  4. Return the function's parameter.

Switch to desktopSwitch to desktop for real-world practiceContinue from where you are using one of the options below
Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 2. Chapter 1
toggle bottom row

book
Typename Parameter as a Return Type

Templates are not just for defining the types of parameters. A powerful feature of templates is that the return type of a function can also depend on the template parameter. This gives you the flexibility to create generic functions with return types that adjust based on the template type provided.

cpp

main

copy
1234567891011121314
#include <iostream> template<typename T> T MyFirstTemplateReturn() { // Returning a default-initialized value of type T return T{}; } int main() { // Call the template with the void type std::cout << typeid(MyFirstTemplateReturn<void>()).name() << std::endl; }

In the example above, the function's return type is defined by the template parameter T. When we specify void as the type, the compiler interprets it accordingly.

Task
test

Swipe to show code editor

Create a simple template that returns the passed value

  1. Write a simple template function called GetValue.
  2. Use the template's typename parameter as the return type.
  3. Add a parameter to the template function with the same type as the return type.
  4. Return the function's parameter.

Switch to desktopSwitch to desktop for real-world practiceContinue from where you are using one of the options below
Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 2. Chapter 1
Switch to desktopSwitch to desktop for real-world practiceContinue from where you are using one of the options below
We're sorry to hear that something went wrong. What happened?
some-alt