相关疑难解决方法(0)

为什么临时的寿命不会延长到封闭物体的寿命?

我知道临时不能绑定到非const引用,但它可以绑定到const引用.那是,

 A & x = A(); //error
 const A & y = A(); //ok
Run Code Online (Sandbox Code Playgroud)

我也知道在第二种情况(上图)中,临时创建A()的生命周期延长到const引用的生命周期(即y).

但我的问题是:

可以将绑定到临时的const引用进一步绑定到另一个const引用,将临时的生命周期延长到第二个对象的生命周期吗?

我尝试过这个并没有用.我不太明白这一点.我写了这段代码:

struct A
{
   A()  { std::cout << " A()" << std::endl; }
   ~A() { std::cout << "~A()" << std::endl; }
};

struct B
{
   const A & a;
   B(const A & a) : a(a) { std::cout << " B()" << std::endl; }
   ~B() { std::cout << "~B()" << std::endl; }
};

int …
Run Code Online (Sandbox Code Playgroud)

c++ temporary

31
推荐指数
3
解决办法
3529
查看次数

正确使用C++'为每个'选项

这些 问题让我对每个宏的Boost和Qt的目的感到好奇.

我已经使用过Qt,并发现宏一直能够满足我的需求,但从未对其性能进行过广泛的测试.我之前没有使用过Boost的产品.

我想知道什么时候才能使用Qt和Boost提供的替代方案std::for_each

注意:措辞已从原文改为使问题更客观.

c++ foreach qt boost std

2
推荐指数
1
解决办法
1450
查看次数

标签 统计

c++ ×2

boost ×1

foreach ×1

qt ×1

std ×1

temporary ×1