C++ STL stack能存放自定義類(lèi)型嗎

c++
小樊
86
2024-07-30 11:30:09

是的,C++ STL stack可以存放自定義類(lèi)型。要存儲(chǔ)自定義類(lèi)型,需要在stack的聲明中指定自定義類(lèi)型,并確保該類(lèi)型支持必要的操作比如拷貝構(gòu)造函數(shù)和賦值運(yùn)算符重載。以下是一個(gè)示例代碼:

#include <iostream>
#include <stack>

// 自定義類(lèi)型
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中訪問(wèn)元素
    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;
}

在這個(gè)示例中,我們定義了一個(gè)MyType類(lèi),并將其存儲(chǔ)在stack中。我們可以通過(guò)push()方法向stack添加元素,通過(guò)top()方法訪問(wèn)棧頂元素,通過(guò)pop()方法彈出棧頂元素。

0