1.首先,确认什么是临时对象.在swap方法中,建立一个对象temp,程序员往往把temp称为临时对象.实际上,temp是个局部对象.C++中所谓的临时对象是不可见的,产生一个non-heap对象,并且没有命名,便是一个临时对象. 2.临时对象的来源有:隐式类型转换,方法返回值,抛出异常的时候. 3.隐式类型转换:在初始化或者赋值的过程中,如果类型不匹配,需要一个适配的临时对象,编译器会构造这个临时对象,使调用成功. 注意:这种适配,只能执行一次,不能执行多次.为什么?假如可以执行多次,从一个对…