【发布时间】:2016-01-31 09:01:34
【问题描述】:
我是 C++ 中 stl 的新手。我想知道我们如何在函数内部的 stl 堆栈上工作,以便在我们修改函数内部的本地堆栈时修改我传递给函数的全局声明堆栈。有没有办法实现这一点?
示例-我想在填充内的堆栈“a”内进行修改,s1 会受到这种影响吗?..如果不是怎么办?
#include<iostream>
#include<stack>
using namespace std;
stack<int> s1;
stack<int> s2;
void fill(stack<int> a,int cap){
.........
}
int main()
{
int n;
fill(s1,n);
return 0;
}
【问题讨论】:
-
您是在谈论
std::stack,还是如何处理内存,或者两者都不是?我不知道你在问什么 -
没有“全局声明的堆栈”之类的东西。如果这是您创建或提供给您的东西,您需要清楚地解释这一点。
-
如果我自己创建堆栈,我可以理解这个过程,但 stl 会造成混乱
-
使用全局变量还是局部变量与标准库具体无关。
-
@UdayanBaidya 仍然不知道“混乱”是什么。考虑提供一个“引起混淆”的小示例代码,并解释您感到困惑的原因。否则,我怀疑你会得到任何答案。