【发布时间】:2015-03-20 23:24:58
【问题描述】:
我只是想知道 STL 容器的范围。
例如。 //有一个函数,它创建一个 unordered_map 并传递给 set_map 以填充其中的值。
int foo() {
unorderd_map<char,int>mymap;
set_map(mymap);
}
set_map (unorderd_map<char,int> mmap){
//...setting values of map
}
在这种情况下,mymap 在 foo 中的范围是否仅限于函数 foo() 或者 mymap 通过引用传递给 set_map() 并且在 set_map 中所做的任何更改都将反映到 foo() 中的 mymap?
我还想知道容器是如何作为函数参数传递的,即它们是按值传递还是按引用传递。
谢谢
【问题讨论】:
-
您是否知道,c++ 没有单独的引用和值类型?所以这不是类型的问题,而是如何声明参数的问题。
标签: c++ stl containers