C++什么是左值呀?

#include<iostream>#include<vector>#include<string>usingnamespacestd;intmain(){#define... #include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
#define a 1//这里a为什么是左值呀?
a=100;
cout << "a= " << a << endl;
}
结果编译报错,“=”左操作数必需为左值。
谢谢!!
你能再帮我说下#define定义的那叫什么东西呀,可以改变他的值不?
展开
 我来答
暖风浮云泪成诗啊2692
2010-07-21 · 超过16用户采纳过TA的回答
知道答主
回答量:70
采纳率:0%
帮助的人:53.3万
展开全部
你这里的a是1。记1=100这是个赋值操作吧100赋给,故错。
你把#define a 1
改为int a= 1;
即对
左值应该是指可赋值变量
bright_zyp
2010-07-21 · TA获得超过591个赞
知道小有建树答主
回答量:277
采纳率:0%
帮助的人:267万
展开全部
#define定义的是全局常量,常量不可改变。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
niinor
2010-07-21 · TA获得超过2246个赞
知道小有建树答主
回答量:2047
采纳率:0%
帮助的人:1361万
展开全部
#define a 1
这种方式定义出来的不是变量,是一种字符意义上的替换,也就是说下面代码中只要(单独)出现a,编译器就用1来代替。也被叫做宏
这种形式下的a肯定是不能被赋值的

所谓的左值,就是可以被放在运算符左边的参数或变量或对象
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
2172200ming
2010-07-21
知道答主
回答量:9
采纳率:0%
帮助的人:0
展开全部
1.它的数据值 存储在某个内存地址中 有时这个值也被称为对象的右值 rvalue 读
做 are-value 我们也可认为右值的意思是被读取的值 read value 文字常量和变量都可
被用作右值
2.它的地址值——即 存储数据值的那块内存的地址 它有时被称为变量的左值 lvalue
读作 ell-value 我们也可认为左值的意思是位置值 location value 文字常量不能被用作
左值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sdfwds4
2010-07-21 · TA获得超过953个赞
知道小有建树答主
回答量:629
采纳率:0%
帮助的人:795万
展开全部
左值就是等号左边那个变量,注意一定要是变量。#define定义的那个叫宏定义,不是变量。#define a 1 改成 int a; 就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2010-07-21
展开全部
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
#define a 1 //这里是宏定义,相当于a = 1 ;
a=100; //但是宏定义一旦定义了,就不能重新赋初值了
cout << "a= " << a << endl;
return 0; //int main 需要return 0;
}

//另外,左值就是等号左面的那个量的值!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式