java中的stack类和C++中的stack类的区别
生活随笔
收集整理的這篇文章主要介紹了
java中的stack类和C++中的stack类的区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1 java中的stack類和C++中的stack類的區別
- 1.1 java中的stack類
- 1.2 C++中的stack類
- 1.3 分析
不經意間想到了這個問題,存到棧中的是對象的引用,還是對象的克隆體。簡單驗證下吧。
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<Test> stack = new Stack<Test>();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 <stack>class Test { public:int val;Test(int i){val = i;} };int main() { stack<Test> s;Test test(100);s.push(test);test.val = 0;cout << s.top().val << endl;system("pause");return 0; }輸出結果:100。
1.3 分析
由于java中的對象是引用類型的,而C++中的對象則不是。這就導致兩者在實現棧的方式有所不同。
總結
以上是生活随笔為你收集整理的java中的stack类和C++中的stack类的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: include的两种形式、CPP的搜索路
- 下一篇: 洛阳车内顶棚布脱落怎么办?