FreeOZ论坛

标题: 突然犯晕,高人快来指点一下,又有新问题:请继续指点 [打印本页]

作者: 四香油饼    时间: 16-3-2010 14:56
标题: 突然犯晕,高人快来指点一下,又有新问题:请继续指点
c++中,引用reference是不是只能在初始化的时候指定引用的对象? 表述不清楚,还是举例子吧。


比如有 string S1("ABC"), S2("DEF");
我想要一个 S1 的引用, 如果不是用在函数的参数里,是不是就要这么写:
string &Ref1 = S1;

我要请问的是,我能不能分成两步,第一步
string &Reg1;
然后再
Reg1 = S1; //??好像不对劲,这和普通的赋值(Reg1 = "XYZ")没区别了。
是不是可以写成
&Reg1 = S1;  //???看着还是有点不顺眼啊。

请问:有没有办法定义一个引用变量,然后程序中再动态的改变引用的对象呢? 比如后面换成
&Reg1 = S2;

谁来指点一下?

[ 本帖最后由 四香油饼 于 16-3-2010 15:26 编辑 ]
作者: coredump    时间: 16-3-2010 15:07
原帖由 四香油饼 于 16-3-2010 13:56 发表
比如有 string S1("ABC"), S2("DEF");
我想要一个 S1 的引用, 如果不是用在函数的参数里,是不是就要这么写:
string &Ref1 = S1;

我要请问的是,我能不能分成两步,第一步
string &Reg1;
然后再
Reg1 = S1; //??好像不对劲,这和普通的赋值(Reg1 = "XYZ")没区别了。

不行


是不是可以写成
&Reg1 = S1;  //???看着还是有点不顺眼啊。

只能string &Ref1 = S1;



请问:有没有办法定义一个引用变量,然后程序中再动态的改变引用的对象呢? 比如后面换成
&Reg1 = S2;

不行
作者: 四香油饼    时间: 16-3-2010 15:29
如果一个变量设成了 volatile
比如 volatile int x;
然后有一个 int *p = &x;

那么对我程序里面类似
m = *p;
这样的语句,volatile还起作用吗?
有没有
volatile int *p = &x; 这样的写法?? 或者这个语句确切的含义是什么呢?
作者: 四香油饼    时间: 16-3-2010 16:52
俺已经试出来了,如果不写上 volatile int* p=xxx, c++编译都通不过,看来c++对数据类型匹配的要求确实很严格
作者: coredump    时间: 16-3-2010 17:27
油饼很好学




欢迎光临 FreeOZ论坛 (https://www.freeoz.org/bbs/) Powered by Discuz! X3.2