首页主机资讯C++ STL stack能存放自定义类型吗

C++ STL stack能存放自定义类型吗

时间2024-08-01 18:26:04发布访客分类主机资讯浏览772
导读:是的,C++ STL stack可以存放自定义类型。要存储自定义类型,需要在stack的声明中指定自定义类型,并确保该类型支持必要的操作比如拷贝构造函数和赋值运算符重载。以下是一个示例代码: #include <iostream>...

是的,C++ STL stack可以存放自定义类型。要存储自定义类型,需要在stack的声明中指定自定义类型,并确保该类型支持必要的操作比如拷贝构造函数和赋值运算符重载。以下是一个示例代码:

#include <
    iostream>
    
#include <
    stack>


// 自定义类型
class MyType {
    
public:
    int data;

    MyType(int data) : data(data) {
}

}
    ;


int main() {
    
    std::stack<
    MyType>
     myStack;
    
    
    // 向stack中添加元素
    myStack.push(MyType(1));
    
    myStack.push(MyType(2));
    
    
    // 从stack中访问元素
    std::cout <
    <
     "Top element: " <
    <
     myStack.top().data <
    <
     std::endl;
    
    
    // 从stack中弹出元素
    myStack.pop();
    
    std::cout <
    <
     "Top element after pop: " <
    <
     myStack.top().data <
    <
     std::endl;
    
    
    return 0;

}
    

在这个示例中,我们定义了一个MyType类,并将其存储在stack中。我们可以通过push()方法向stack添加元素,通过top()方法访问栈顶元素,通过pop()方法弹出栈顶元素。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: C++ STL stack能存放自定义类型吗
本文地址: https://pptw.com/jishu/691675.html
C++ STL stack如何逆序输出 C++ hashset支持多线程吗

游客 回复需填写必要信息