java中的stack类和C++中的stack类的区别
发布日期:2021-07-01 04:22:14 浏览次数:46 分类:技术文章

本文共 725 字,大约阅读时间需要 2 分钟。

文章目录

不经意间想到了这个问题,存到栈中的是对象的引用,还是对象的克隆体。简单验证下吧。

1 java中的stack类和C++中的stack类的区别

1.1 java中的stack类

class Test{
public int val; public Test(int i) {
val = i; }}public class StackTest {
public static void main(String[] args) {
Stack
stack = new Stack
(); Test test = new Test(100); stack.push(test); test.val = 0; test = stack.pop(); System.out.println(test.val); }}

输出结果:0。

1.2 C++中的stack类

#include 
class Test{
public: int val; Test(int i) {
val = i; }};int main(){
stack
s; Test test(100); s.push(test); test.val = 0; cout << s.top().val << endl; system("pause"); return 0;}

输出结果:100。

1.3 分析

由于java中的对象是引用类型的,而C++中的对象则不是。这就导致两者在实现栈的方式有所不同。

转载地址:https://muzimin.blog.csdn.net/article/details/102667592 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:#和##运算符
下一篇:include的两种形式、CPP的搜索路径

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年03月28日 15时11分31秒