Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Template Classes and STL | Class Templates
C++ Templates

book
Template Classes and STL

A template class in C++ isn't restricted to just the class keyword; it also includes templates created with class-like keywords such as struct and union. For instance, many templates in the STL (Standard Template Library) utilize these keywords.

The STL, an essential part of C++ templates, is a comprehensive library of template classes in the C++ Standard Library. It provides efficient, well-tested solutions for common data structures and algorithms, allowing developers to focus more on application logic rather than recreating core functionalities. Some commonly used STL template classes include:

cpp

array

cpp

pair

cpp

vector

copy
// The `std::array` template in C++ (introduced in C++11)
// Is a fixed-size array that encapsulates C-style arrays
// Provides additional functionality
template<class T, std::size_t N>
struct array;
// Inside <array> header
123456
// The `std::array` template in C++ (introduced in C++11) // Is a fixed-size array that encapsulates C-style arrays // Provides additional functionality template<class T, std::size_t N> struct array; // Inside <array> header

There's no need to reinvent the wheel. It's much more efficient to use existing, well-tested solutions. Let's practice using template classes from the STL.

Tehtävä

Swipe to start coding

Finish the Initialization of std::pair, std::array, and std::vector

  1. Include all necessary headers.
  2. Based on the parameters passed in the parameter list or initialization list, complete the initialization of the template classes.

Ratkaisu

cpp

solution

#include <iostream>
#include <utility>
#include <array>
#include <vector>

int main()
{
std::pair<int, int> pair(2, 2);
std::array<int, 5> array { 1, 2, 3, 4, 5 };
std::vector<int> vector { 1, 2, 3, 4, 5 };
}

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 2
#include <iostream>

int main()
{
std::___<___, ___> ___(1, "c<>definity");
std::___<___, ___> ___{ '1', '2', '3', '4', '5' };
std::vector<___> ___{ 1, 2, 3, 4, 5 };
}
toggle bottom row
some-alt