我的C++实践(1):Stack的实现

   (1)基本的Stack:以std::deque为内部容器。方法有入栈、出栈、返回栈顶元、判断栈空。

   测试程序:

   (2)改进1:指定栈的容量,要用到非类型模板参数。由于栈的容量固定,可以用数组来存放元素。

   测试程序:

   (3)改进2:可以指定栈内部使用的容器,还可以使 不同类型的栈之间能赋值。要用到模板模板参数。要定义一个赋值运算符的成员模板,它并不会覆盖缺省赋值运行符,对于相同类型栈之间的赋值,仍然会调用缺省的赋值运行符。由于容器有两个模板参数,一个是元素类型,一个是分配器类型,因此定义Stack的内部容器这个模板模板参数时,必须两个模板参数都要有。若只定义一个元素类型的参数,你传入容器(如vector,deque)时,并不能匹配。总之我们定义的模板模板参数必须与我们传入的模板精确匹配。

   测试程序:

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值