栈
empty(); // 检测栈是否为空
size(); // 栈中元素数量
top(); // 栈顶元素
push(); // 向栈顶推入新元素
pop(); // 弹出栈顶元素
emplace(); // 向栈顶推入新元素(比push更加高效)
swap(); // 交换两个栈的元素
push和emplace的区别
对于int、double等数据类型而言,push()和emplace()是相同的
但是涉及到自定义数据类型,push()必须将要添加的元素实例化出来,而emplace()既可以添加实例化对象,又能直接填入对象的构造参数