首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >一个对象可以被视为一个变量吗?

一个对象可以被视为一个变量吗?
EN

Stack Overflow用户
提问于 2011-10-19 02:04:34
回答 6查看 461关注 0票数 5

我在区分类、对象、变量和数据类型等术语时遇到了一些麻烦。

类可以被认为是一种数据类型吗?一个对象可以被视为一个变量吗?

另外,技术上的区别是什么?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-10-19 02:25:01

这些术语有两种不同的用法:

  • 临时使用:

代码语言:javascript
运行
复制
- Class: Abstract data type with methods and fields.
- Object: Instance of a class.
- Variable: Language-level name (i.e: name given by a programmer) for some piece of storage.
- Datatype: Type that a variable (or some unnamed piece of storage) can have.

  • C/C++标准用法(来自C标准,它不是面向对象的语言:

代码语言:javascript
运行
复制
- Object: Some piece of storage, whether it has a name or not.
- Object of Class Type: Some piece of storage whose datatype is class(=struct).

票数 6
EN

Stack Overflow用户

发布于 2011-10-19 02:08:42

变量是具有直接名称的对象。

代码语言:javascript
运行
复制
int i;

I是一个变量,也是一个对象。

代码语言:javascript
运行
复制
int* p = new int;

*p是对象,但不是变量。

类和类型几乎相同,除了类型包括像int这样的原始类型。实际上,它们是可互换的--以及变量/对象。C++标准的实际情况是,很少有规则以不同的方式应用于类和类型,以及变量和对象。

票数 4
EN

Stack Overflow用户

发布于 2011-10-19 02:10:30

一个类可以看作是一组限定了作用域的函数和私有变量。对象是一个类的实例,例如,toyata可以是一个名为Car的类的对象实例。变量是一个标识符。它表示值和状态可以随时间变化的标识符。数据类型表示数据类型。

例如,假设Car是一个类。然后声明:

代码语言:javascript
运行
复制
Car toyata;

具有类、数据类型、标识符(变量)和对象。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7811687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档