Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Нетипові параметри шаблонів | Використання шаблонів
Шаблони C++
Секція 2. Розділ 3
single

single

Нетипові параметри шаблонів

Свайпніть щоб показати меню

Під час визначення шаблону можна не лише вказувати типи, а й передавати значення цим типам. Це дозволяє створювати шаблони, які поводяться по-різному залежно від наданих значень, але до цього ми повернемося трохи пізніше.

main.cpp

main.cpp

123456789101112
#include <iostream> // Non-type parameter means we won't use typename // Instead you can use an actual type for it template<int N> void PrintValue() { std::cout << N << std::endl; } int main() { // Call the template function with a literal integer PrintValue<5>(); // 5 }

Головна перевага цього підходу полягає в тому, що всі обчислення виконуються під час компіляції, що дає змогу використовувати його в метапрограмуванні.

main.cpp

main.cpp

1234567891011
#include <iostream> // Template function to calculate the square of a non-type parameter I template<int I> int Square() { return I * I; } // Return the square of I int main() { // The result of Square<5>() is computed at compile time int b = Square<5>(); // b will be initialized to 25 }

Під час запуску скомпільованої програми значення b вже дорівнюватиме 25. Обчислення виконується на етапі компіляції, що призводить до нульової кількості операцій під час виконання.

question mark

Яка ключова перевага використання нетипових параметрів шаблонів у шаблонах C++?

Виберіть правильну відповідь

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 3
single

single

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

some-alt