有没有像Python那样的C++执行/数据模型

Is there a C++ execution/data model like that of Python?

本文关键字:C++ 执行 数据模型 Python 有没有      更新时间:2023-10-16

Python有文档执行模型和数据模型,解释了所有关于名称、绑定、命名空间和对象的内容。

例如,它告诉我们:

  • 名称可以绑定并反弹到对象
  • 有可变的和不可变的对象
  • 执行a = 5; b = a导致ba现在指向同一对象
  • 函数由对象调用

有人能对C++做出类似的回答吗?让我们理解一下,

  • 名称可以绑定并反弹到对象吗?这就是引用吗
  • 有不可变和可变的对象吗?它们和python相似吗
  • 执行a = 5; b = a导致ba引用具有相同值(?)的两个不同存储器位置
  • 函数是否统一由值调用?如果对变量的引用只是另一个名称,那么为什么函数突然没有像使用变量的"主"名称时那样复制值呢

我想在这里强调比较方面:哪些映射完全相同,哪些映射不同,以及以什么方式不同?是否有类似的(也许是官方的?)文档清楚地解释了这些方面在C++中是如何工作的?

您不会找到非常相似的文档,因为Python和C++非常不同。当人们问C++提供了什么时,我通常会派人去cppreference.com。

对于C++的"执行模型",您需要查看名称和标识符、名称查找、求值顺序、链接等。

对于C++的"数据模型",您需要了解初始化、类、构造函数和许多其他内容。Python页面似乎主要关注标准类函数,而C++除了构造函数、析构函数和赋值运算符之外,实际上没有这些函数。

如果您想要更具体的东西,那么您必须查看标准规范。c++14工作草案

C++是一个ISO标准,并在ISO/IEC 14882:2014正式和法律文件中进行了描述。