map 类型的变量如何拷贝复制?
我定义了一个类:
class MyClass
{
public:
map<int,string> MyMap;
...
}
在主程序里面进行了如下调用:
void main()
{
MyClass ExClass;
// 这里对ExClass 进行初始化赋值其map成员变量MyMap
......
map<int,string> mykey;
mykey.empty();
// 赋值,难道这样复制赋值错了?
mykey = ExClass.MyMap;
map<int,string>::iterator it;
printf("\nItem count=%d",mykey.size());
// 程序运行到这里,发现mykey 的成员个数为0 ???
// 但是在 MyClass 里面可以测试到 其成员MyMap的元素个数不为0 啊,怎么回事???
// 哪出错了?
}
class MyClass
{
public:
map<int,string> MyMap;
...
}
在主程序里面进行了如下调用:
void main()
{
MyClass ExClass;
// 这里对ExClass 进行初始化赋值其map成员变量MyMap
......
map<int,string> mykey;
mykey.empty();
// 赋值,难道这样复制赋值错了?
mykey = ExClass.MyMap;
map<int,string>::iterator it;
printf("\nItem count=%d",mykey.size());
// 程序运行到这里,发现mykey 的成员个数为0 ???
// 但是在 MyClass 里面可以测试到 其成员MyMap的元素个数不为0 啊,怎么回事???
// 哪出错了?
}
...全文
相关推荐
JS面试题中深拷贝的实现讲解
在JavaScript中,函数本身是引用类型,所以即使使用`new Function()`创建新的函数,也无法复制函数的作用域和外部变量,因为这是在词法分析阶段确定的,无法在运行时改变。
java代码-集合类型,返回值为对象时。
**返回对象集合的方法** - 当你需要在方法中创建一个集合,并将对象放入其中,最后返回这个集合时,可以使用以下步骤: 1) 声明集合变量,指定其类型(如List、Set或Map)。
java经典面试题
它如何工作?2. **数据类型与变量** - 静态和非静态变量的区别是什么? - 什么时候使用final关键字? - 详述Java中的基本数据类型和引用数据类型。3.
JavaScript最常用的55个经典技巧
深拷贝与浅拷贝: - 浅拷贝只复制对象的引用,深拷贝会创建新对象并复制所有层次的属性。14. 事件与事件处理: - DOM事件模型,包括捕获阶段、目标阶段和冒泡阶段。
前端高频面试题终结篇v4.pdf
深拷贝、浅拷贝:深拷贝是指完全复制对象的所有属性,浅拷贝是指只复制对象的引用。三、Vue 相关1. Vue 最大特点:Vue 的最大特点是其双向数据绑定机制,可以实现数据驱动的视图更新。2.


