在C ++中声明多个变量,是为所有这些变量声明的属性吗?

时间:2011-11-17 23:53:34

标签: c++ variables

如果我定义了三个对象,如下所示:

const string & textA = messages.at(0), 
               textB = messages.at(1), 
               textC = messages.at(2);

textBtextC实际上是参考吗? 我是否必须将&放在textBtextC前面?

谢谢!

2 个答案:

答案 0 :(得分:5)

textBtextC不是参考。可以将&视为属于变量,而不是类型。

(刚用g ++检查)

答案 1 :(得分:2)

使用这种表示法,你会看到会发生什么:

const string     &textA = .., // reference
                 &textB = .., // reference
                 textC = ..; // value

同样适用于指针:

const string     *textA = .., // pointer
                 *textB = .., // pointer
                 textC = .. ;// value

组合

const string     *textA = .., // pointer
                 &textB = .., // reference
                 textC = .. ;// value