c++ - C++中的动态堆栈数据类型声明

标签 c++ stl type-declaration

是否可以做到以下几点:

dtype            //contains data type information  
stack<dtype> st; // stack declartion

我想动态决定栈的类型。是否可以在 C++ 中执行此操作?

最佳答案

是的,这是可能的。由于这个原因,您可以使用多态性并将指向基类的指针作为 stak 模板的参数。然后运行时你可以决定分配什么类型的对象。重要的是它应该从基类派生。

class Object;
class A : public Object;
class B : public Object;
std::stack<Object*> buf;
if (...)
{
   buf.push(new A);
} else
{
   buf.push(new B);
}

关于c++ - C++中的动态堆栈数据类型声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35552430/

相关文章:

c++ - 如果有插入/删除/重新哈希操作,unordered_map 是否复制/释放包含的对象?

c++ - std::unordered_map::begin(int n) 行为

c++ - std::vector 内存分配问题

类型说明符中允许的类型定义的 C++11 标准引用使用?

c - 如何声明一组具有非线性依赖的结构?

c++ - 将 const-string 分配给常量大小的 char 数组,未使用的数组索引会发生什么?

c++ - 此函数是否在所有控制路径上都有明确的返回值?

c++ - "for num in [1,4,5]"C++ 中的 Python 等价物?

php - 如何通过在我的服务器上离线进行计算来获得距离矩阵