切片问题以及传指针或引用之所以可以避免数据复制

 一、继承的切片问题(c++特有):

在c++中,如果通过值传递派生类对象给接受基类类型参数的函数,会发生"切片",即只传递派生类对象中基类部分的一个副本。完全丢失了派生类的特定信息和多态性。

二、传指针或引用之所以可以避免数据复制

1.减少内存消耗:当传递大型数据结构(如数组、大型对象等)时,如果直接传递这些数据的副本,将会消耗大量的内存来存储这些副本。而通过传递指针或引用,实际上只传递了数据的内存地址或别名,而不是数据本身,从而避免了不必要的内存消耗。

2.提高性能:数据复制(特别是大型数据的复制)通常是一个耗时的操作。通过传递指针或引用,可以避免这种复制,从而提高程序的执行效率。

3.修改原始数据:在某些情况下,我们需要在函数中修改原始数据,并将修改反映到函数外部。如果传递的是数据的副本,那么函数外部的数据将不会受到影响。而通过传递指针或引用,我们可以直接修改原始数据,并将这些修改反映到函数外部。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值