std::any 简单用法
std::any 是 c++17 引入的标准库类,它提供了一种类型安全的机制,可以在运行时存储和访问任意类型的值。通过 std::any,我们可以将任意类型的值存储在一个统一的容器中,并在需要时进行类型转换和访问,从而实现更灵活的编程。
示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
#include <any>
struct Person
{
std::string name;
int age;
};
int main()
{
std::any var = 88;
std::any str = "hahaha";
Person p = {
"老王",
88
};
std::any info = p;
std::cout << std::any_cast<int>(var) << std::endl;
std::cout << std::any_cast<std::string>(str) << std::endl;
auto ret = std::any_cast<Person>(info);
std::cout << "姓名: "
<< ret.name
<< " 年龄: "
<< ret.age
<< std::endl;
return 0;
}
本文由作者按照 CC BY 4.0 进行授权