首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使C++模板堆栈与基本数据类型和复合变量一起工作?

如何使C++模板堆栈与基本数据类型和复合变量一起工作?
EN

Software Engineering用户
提问于 2014-04-18 19:58:14
回答 1查看 488关注 0票数 0

模板适用于不同数据类型的相似算法。假设我做了一个基本数据类型的模板堆栈.

代码语言:javascript
复制
Stack<int> stck(10);
stck.Push(5);

我会爆掉它..。

代码语言:javascript
复制
int x = stck.Pop();

X是5,如果我再次调用pop,就没有条目,所以方法只返回0作为null。可能是别的什么,但不管怎样。

但是现在,如果我将模板类型更改为复合变量(结构类型--例如,RECT),并且堆栈为空,则不能返回0。它希望是一种RECT型的,但我已经没有了。如何使这种工作对基本数据类型和复合变量?例外?

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2014-04-18 20:03:09

3个备选方案

使popping en emtpy堆栈未定义,并且不必担心它

抛出异常

返回默认构造的T() (数值类型恰好为0)

票数 4
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/236330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档