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

本文共 799 字,大约阅读时间需要 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的搜索路径

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.249.68.78]2022年04月25日 18时58分16秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

最新文章