首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

对象和变量的区别,该如何解决

2012-05-09 
对象和变量的区别对象是指我们自己定义的类型,还有指针的变量吗?然后变量是指基本类型的变量?struct A之类

对象和变量的区别
对象是指我们自己定义的类型,还有指针的变量吗?
然后变量是指基本类型的变量?
struct A之类的是对象还是变量
不解...求高手解答,谢谢

[解决办法]
类的实例叫做对象


变量 对应的 是常量 是指可以修改的对象 

所以一个对象可以是变量也可以是常量

基本类型也是可以new在c++中 int i的i也可以看做一个int类的对象

[解决办法]
可以认为所有的变量都是一种对象。对象主要是从设计的思想上来分析的,而变量说的是基本语法。
[解决办法]

探讨
不太理解对象是特殊的变量,这个特殊指什么?

[解决办法]
对象是一段存储空间,而变量是一段命名的存储空间。

C++标准的内容:

1.8 The C+ + object model

An object is a region of storage.


3 Basic concepts

A variable is introduced by the declaration of an object. The variable’s name denotes the object.


[解决办法]
探讨
引用:
引用:
引用:
不是。const修饰的依然是变量、依然是左值(不可修改的左值)、依然是对象。所谓变量、常量是不能只看表面上的变和常两个字来理解的。


临时对象就不是变量。

谢谢。。。不过网上看到const  int  i=1;//编译器不为i分配内存,编译器会对i进行常量折叠,那没代表一块一段存储空间了。。还能称作变量或对象?


要分清什么是标准,什么是实现,C++存在常量对象,这一点跟C是不同的,但对象性质与常量性质存在一些矛盾,无论C还是C++都没有禁止修改const对象,只规定属于未定义行为,常量折叠是一个对象性质与常量性质的绝妙折中,但毕竟只是一个实现方法,在C/C++的语法上,const依然是一个对象。

哦哦。。。有点了解了。。那
引用:
不是。const修饰的依然是变量、依然是左值(不可修改的左值)、依然是对象。所谓变量、常量是不能只看表面上的变和常两个字来理解的。


临时对象就不是变量。


还有想问下如何区分常量和变量。。。一直都认为const修饰都是常量的。。现在有点不解。。谢谢

热点排行