python中的“引用”和C++的引用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中的“引用”和C++的引用相关的知识,希望对你有一定的参考价值。

python并不刻意区分“按值传递”和“按引用传递”。

在底层,python将值分为不可变对象(比如int,str)和可变对象(比如列表)。所有的变量都是对某个对象的引用,赋值(=)和函数参数传递,都将改变变量所引用的对象。

对于不可变对象,赋值和传参将导致新创建对象,这和C++的引用行为是不同的。此时,赋值和传参是按值传递。

对于可变对象,赋值和传参,和C++引用的行为一致,是真正的按引用传递。

以上是关于python中的“引用”和C++的引用的主要内容,如果未能解决你的问题,请参考以下文章

对比 C++ 和 Python,谈谈指针与引用

python中函数参数的引用方式

Boost.Python 从 C++ 创建对现有 Python 对象的新引用

SWIG C++ Python:通过引用或指针包装 int

在python中通过引用传递引用

是否可以通过 Cython 通过引用将值从 Python 传递到 C++?