首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

、指针、引用区别

在C中,我们只了解到有两种方式,一种是值传递,另外一种是传递指针,一般情况下我们选择使用指针传递参数。在C++中,又新增了一种方式,那就是引用(type &),引用给我们带来了更好的体验。...1、值传递 值传递是一种值拷贝的操作,一般只用于传入参数使用,而且如果传入的值体积过大(比如一个结构体),在函数压栈的过程中会拷贝一份压入栈中,会影响效率。...// 所以一定要避免这种情况出现 /*void swap(int a, int b) { }*/ // 指针传递,会开辟两个指针空间实现交换 void swap(int* pa, int* pb)...int tmp = ra; ra = rb; rb = tmp; } int main(int argc, char* argv[]) { int x = 10; int y = 20; // 指针...// swap(&x, &y); // 引用 swap(x, y); cout << x << “–” << y << endl; getchar(); return 0; }

55240
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    vue3 路由_vue router

    方式可划分为 params 和 query ,而 params 又可分为在 url 中显示参数和不显示参数两种方式,这就是vue路由的三种方式。...属性实现,该方法的参数可以是一个字符串路径,或者一个描述地址的对象。...$route.params.id 方式二:params (不显示参数) params (不显示参数)也可分为 声明式 和 编程式 两种方式,与方式一不同的是,这里是通过路由的别名 name 进行值的...$route.params.id 注意:上述这种利用 params 不显示 url 的方式会导致在刷新页面的时候,传递的值会丢失 方式三:query (显示参数) query (显示参数)也可分为...声明式 和 编程式 两种方式 1、声明式 router-link 该方式也是通过 router-link 组件的 to 属性实现,不过使用该方式值的时候,需要子路由提前配置好路由别名(name

    5.9K20

    python中函数的序列传,列表拆解、字典拆解

    ---- 本节教程视频 一、函数的列表 列表举例 [“a”,”b”,”c”] 其实在使用列表的时候比较简单,只需要将实际的列表作为参数传入到调用的函数中的时候,在列表变量前加上一个星号*即可把某个列表拆分成多个参数传入到自定义函数中...二、函数的字典 类似于列表拆解,只不过在传入的参数前面加上两个*,也即使说使用双星号** 举例: dic1={"name":"老刘","work":"程序员","微信公众号":"编程创造城市"}...三、知识总结: 函数的序列传 1.列表的拆解,可以使用*,也可以省略,具体要看传入的参数的数量作为本质条件。...2.掌握字典的拆解,使用**,具体使用方法类似于列表 本节源代码 #对比可变参数与列表的区别 #可变参数的情况 # def P(*s1): # for v in s1: #...print("") # pass # # list1=["a","b","c"] # # P(list1,"123","ggg") #拆解列表的情况 # list2

    10.6K21

    python值还是引用

    因此,如果函数收到的是一个可变对象(比如字典或者列表)的引用,就能修改对象的原始值--相当于通过“引用”来传递对象 例2 def test2(p): p = "i in test2" print(p,...str) print(str,id(str)) 输出: i in test2 2885210784112 hello word 2885210784048 id不一样,所以说不是同一个对象,也就是说我们的还是引用...因此,如果函数收到的是一个不可变对象(比如数字、字符或者元组)的引用,就不能直接修改原始对象--相当于通过“值'来传递对象。 总结: Python参数传递采用的肯定是“传对象引用”的方式。...这种方式相当于值和引用的一种综合。如果函数收到的是一个可变对象(比如字典或者列表)的引用,就能修改对象的原始值--相当于通过“引用”来传递对象。...如果函数收到的是一个不可变对象(比如数字、字符或者元组)的引用,就不能直接修改原始对象--相当于通过“值'来传递对象。

    3.6K150
    领券