c++结构体里能定义auto自动类型吗

我正在编写一个c++类,可以实现变长数组及多种数据同数组存储,目前实现变长和数据处理函数,但无法在一个数组里存多个类型,想问一下能不能定义一个结构体,里面放一个auto类型的变量,再将结构体放入数组,这样也许可以实现同一个数组存多个类型了。

  • 这篇文章讲的很详细,请看:C++中应用于for循环的auto机制,有引用和非引用两种操作
  • 除此之外, 这篇博客: 【C++】auto关键字中的 1. 声明自动类型的变量,根据被赋值的类型自动推导变量的类型 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • #include <iostream>
    using namespace std;
    
    int main() {
        int x;
        auto y = 12.3; //y被自动推导为double
        cout << sizeof(x) << endl; //4
        cout << sizeof(y) << endl; //8
    
        return 0;
    }
    

    auto 关键字在C语言中就已经存在了,只不过在C语言中它的作用是声明自动变量:

    auto int z = 123;
    

    z 本来是局部变量,加上 auto 后变成了局部的自动变量,就是当前变量的生存周期是由编译器自动决定的,但是这和局部变量没有区别,所以 auto 在 C语言中并没有发挥什么作用。

  • 您还可以看一下 尹成老师的《信息学竞赛-C/C++入门》 C++语言课程中的 2模板别名与auto推理小节, 巩固相关知识点