引用传递和对象传递的区别是什么?
void goodGay(Building &building){
}
void goodGay(Building building){
}
###区别是拷贝对象地址还是拷贝对象本身到函数的栈空间,优先传递引用
###传递引用的话,函数里面的对象发生的改变,函数之外的对象也会发生相同的改变;
传递对象的话,相当于是把对象复制一份传递进去,函数里面对于对象的改变不会影响函数外部的对象。
引用传递和C里面的指针作用类似。如果对象很大的话,非引用传递会复制一份,暂用空间就会很大。
语义层面不同,欢迎了解值语义与引用语义,很多语言默认是引用语义的,c++默认值语义,引用以特殊的标识符说明。这两个的不同你可以百度一下,比较全面。