РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
757 of 815 menu

Функция make_any

Функция make_any создает и возвращает объект std::any, который хранит копию переданного значения. Первым параметром функция принимает значение, которое нужно сохранить в any. В отличие от конструктора any, функция make_any позволяет явно указать тип создаваемого объекта, что бывает полезно при работе с перегрузками и шаблонами. Функция доступна начиная со стандарта C++17.

Синтаксис

std::make_any<T>(value)

Пример

Давайте создадим объект any, содержащий целое число 42, и проверим его тип:

#include <iostream> #include <any> using namespace std; int main() { any a = make_any<int>(42); cout << any_cast<int>(a) << endl; cout << a.type().name() << endl; return 0; }

Результат выполнения кода:

42 "i"

Пример

Давайте создадим объект any, содержащий строку "abcde", и выведем ее на экран:

#include <iostream> #include <any> #include <string> using namespace std; int main() { any a = make_any<string>("abcde"); cout << any_cast<string>(a) << endl; return 0; }

Результат выполнения кода:

"abcde"

Пример

Давайте создадим объект any с явным указанием типа double и значением 3.14, затем проверим, содержит ли он значение:

#include <iostream> #include <any> using namespace std; int main() { any a = make_any<double>(3.14); if (a.has_value()) { cout << "Has value: " << any_cast<double>(a) << endl; } else { cout << "No value" << endl; } return 0; }

Результат выполнения кода:

"Has value: 3.14"

Смотрите также

  • функция any_cast,
    которая извлекает значение из объекта any
  • функция make_tuple,
    которая создает кортеж из переданных значений
  • функция make_pair,
    которая создает пару из двух значений
  • функция to_string,
    которая преобразует число в строку
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить