Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 语言不可知的术语,指需要记忆的类型化事物_Arrays_Language Agnostic_Variables_Object - Fatal编程技术网

Arrays 语言不可知的术语,指需要记忆的类型化事物

Arrays 语言不可知的术语,指需要记忆的类型化事物,arrays,language-agnostic,variables,object,Arrays,Language Agnostic,Variables,Object,是否有一个公认的通用术语包含变量、类实例和数组的概念?基本上是“需要内存的任何类型的东西”。在C++中,这样的东西被称为对象,但我在寻找一种更不可知的术语。 第1.8章C++对象模型 < 1 > C++程序中的构造创建、破坏、引用、访问和操纵对象。strong>对象是存储区域。 [...] 对象可以有名称(第3条)。对象具有影响其寿命(3.8)的存储持续时间(3.7)对象具有类型(3.9) 它被称为数据成员。对象不适合您的需要吗?-我认为“对象”是一个抽象的概念。。。包含结构未知或不相关的数据(

是否有一个公认的通用术语包含变量、类实例和数组的概念?基本上是“需要内存的任何类型的东西”。在C++中,这样的东西被称为对象,但我在寻找一种更不可知的术语。 第1.8章C++对象模型 < 1 > C++程序中的构造创建、破坏、引用、访问和操纵对象。strong>对象是存储区域。 [...] 对象可以有名称(第3条)。对象具有影响其寿命(3.8)的存储持续时间(3.7)对象具有类型(3.9)


它被称为数据成员。

对象不适合您的需要吗?-我认为“对象”是一个抽象的概念。。。包含结构未知或不相关的数据(以及内存)的变量。

您的示例都有一些共同点,它们有一个在编程语言中引用的名称,以及某些内存中某处的一些对应位。但这种关系的意义模型与你所使用的特定语言有着密切的联系


我认为这就是为什么单个词汇表,如“变量”或“类实例”在不同语言中不一致的原因。在我看来,即使C++中的这两个术语有很大区别。

< P>在大多数/所有事物都是“第一类”的语言中,如LISP或LUA,这将被称为“值”。 也许人们只能说“实体”,但对我来说,这听起来太抽象了。“数据…”或“信息…”至少增加了一点最小上下文。“实体”与“操作”(功能、程序、方法)或“关系”分开

如果这被普遍接受,那就没有线索了


(但最终我觉得“实体”只是“对象”的另一个词,可能与面向对象编程没有直接联系。)

C99规范使用了“对象”一词,尽管C不是面向对象语言。第3.14节将“对象”定义为执行环境中的数据存储区域,其内容可以表示值。

如果问题应该是语言不可知的,那么标记它并删除C++标签。@尼尔,我希望C++程序员在以前遇到过同样的问题,因此C++标签;标记不是这样工作的。@尼尔可以随意更改标记。@gbn:不完全确定。有些东西可能在编译时被删除,因此不会在运行时消耗内存。此外,当谈到C联合时,说成员“需要内存”是模棱两可的。在我看来,在Java等语言中,变量(而不是int等primitive)不包含数据,而是引用它。两个变量可以引用相同的对象状态。这是因为Java是一种糟糕的语言P说真的,引用本身就是一个有效的对象。Java只是将用户定义的对象与语言定义的对象分开。在其他类型的语言中呢?我认为没有广泛使用的语言不可知论术语。@djna我认为问题是从语言的内存模型中抽象出来是好的(我不是说GC,而是地址模式等),因此许多通用术语不依赖于内存。我猜你不会比价值或变量更进一步。在C++中,它也与OOP无关。