Je pense que dans la fonction err_fun, la pile em sera libre quand quitter err_fun(), donc le contenu de em sera libre dans le même temps, et pourquoi je peux toujours obtenir la bonne réponse dans la fonction principale avec st stack?C++ std :: le contenu de la pile ne sera pas libre en quittant la fonction
Merci.
#include <stack>
stack<int> st;
void err_fun() {
stack<int> em;
st.swap(em);
}
int main() {
err_fun();
//... some operation with stack st.
return 0;
}
Oui 'em' sera détruit, mais' st' ne le sera pas. Ils sont indépendants. – songyuanyao