读书人

引述数据类型用自己初始化这是什么语

发布时间: 2012-09-23 10:28:10 作者: rapoo

引用数据类型用自己初始化,这是什么语义?
今天无意中发现,引用型类成员变量用自己初始化自己,居然编译得过,而且还能用,但这是什么语义呢?不知是否标准?

C/C++ code
class base{public:    base(int& data_) : data(data) {}    void func() {++data; cout << &data << " " << data << endl;}protected:    int& data;}


编译环境:ubuntu 12.04 LTS + g++4.6.3
vc没试过,电脑里面没有。

[解决办法]
参数名不要和成员变量名重名。
[解决办法]
和下面这句一样
C/C++ code
int& a = a;
[解决办法]
本来也可以, 就算为空,那也是一个引用吧? 用一个引用初始化另一个引用, 语法正确的。。。

编译器不管两个引用是否 指向同一个对象

int nA;
int& aa = nA;
int& bb = aa;
这样的语法不一样正确?
[解决办法]
楼主,不要浪费生命,讨论c++标准漏出来的bug feature

读书人网 >C++

热点推荐