21xrx.com
2025-06-30 10:22:33 Monday
文章检索 我的文章 写文章
C++多类型容器存储实现
2023-06-30 14:04:54 深夜i     21     0
C++ 多类型 容器 存储 实现

在 C++ 中,使用容器存储数据是一项非常重要的任务。然而,对于不同类型的数据,我们需要使用不同的容器来进行存储。如果我们需要存储多个类型的数据,而又不想使用多个容器进行存储,那该如何实现呢?这就需要使用多类型容器。

多类型容器是一种可以存储多个不同类型数据的容器。在 C++ 中,我们可以使用模板类来实现多类型容器。下面是一个简单的例子:

#include <iostream>
#include <vector>
using namespace std;
template<typename T>
class MultiTypeContainer
{
private:
  vector<T> vec;
public:
  void add(T value)
  {
    vec.push_back(value);
  }
  void display()
  {
    for (auto itr = vec.begin(); itr != vec.end(); ++itr)
    {
      cout << *itr << " ";
    }
    cout << endl;
  }
};
int main()
{
  MultiTypeContainer<int> myContainer;
  myContainer.add(10);
  myContainer.add(20);
  myContainer.display();
  MultiTypeContainer<double> myContainer2;
  myContainer2.add(5.6);
  myContainer2.add(2.1);
  myContainer2.display();
  return 0;
}

在上面的例子中,我们使用了一个名为 MultiTypeContainer 的模板类来实现多类型容器。这个容器使用了一个 vector 来存储数据。使用模板类实现多类型容器的好处是可以在编译时确定容器中真正存储的类型,从而实现类型安全。

在 add() 函数中,我们使用了 vector 的 push_back() 函数来向容器中添加数据。display() 函数则是用来输出容器中的数据。

在 main() 函数中,我们首先创建了一个存储整数类型的容器 myContainer,并向其中添加了两个整数数据。接着,我们创建了一个存储浮点数类型的容器 myContainer2,并向其中添加了两个浮点数数据。最后,我们调用了 display() 函数来输出两个容器中的数据。

通过上面的例子,我们可以看到,使用模板类实现多类型容器是一种非常方便的方法。无论是存储整数、浮点数还是其他数据类型的数据,我们都可以使用同一个容器来进行存储和管理。这也是为什么多类型容器被广泛应用于各种 C++ 程序中的原因之一。

  
  

评论区