相关疑难解决方法(0)

C++常量引用生命周期(容器适配器)

我的代码看起来像这样:

class T {};

class container {
 const T &first, T &second;
 container(const T&first, const T & second);
};

class adapter : T {};

container(adapter(), adapter());
Run Code Online (Sandbox Code Playgroud)

我认为不断引用的生命周期将是容器的寿命.但是,否则看起来,在创建容器后销毁适配器对象,留下悬空引用.

什么是正确的寿命?

适配器临时对象的堆栈范围是容器对象或容器构造函数的范围?

如何正确实现绑定临时对象到类成员引用?

谢谢

c++ const reference lifetime

15
推荐指数
2
解决办法
7565
查看次数

初始化初始化列表中的引用

我被告知必须在初始化列表中初始化引用变量,但为什么这是错误的?

   class Foo
    {
    public: 
        Foo():x(0) {      
         y = 1;
        }
    private:
        int& x;
        int y;
    };
Run Code Online (Sandbox Code Playgroud)

因为0是临时对象?如果是这样,可以引用什么样的对象?可以拿地址的对象?

谢谢!

c++

5
推荐指数
1
解决办法
7546
查看次数

标签 统计

c++ ×2

const ×1

lifetime ×1

reference ×1