相关疑难解决方法(0)

什么是复制省略和返回值优化?

什么是复制省略?什么是(命名)返回值优化?他们意味着什么?

它们会在什么情况下发生?有什么限制?

c++ optimization c++-faq return-value-optimization copy-elision

350
推荐指数
4
解决办法
7万
查看次数

复制初始化和直接初始化之间有区别吗?

假设我有这个功能:

void my_test()
{
    A a1 = A_factory_func();
    A a2(A_factory_func());

    double b1 = 0.5;
    double b2(0.5);

    A c1;
    A c2 = A();
    A c3(A());
}
Run Code Online (Sandbox Code Playgroud)

在每个分组中,这些陈述是否相同?或者在某些初始化中是否有额外的(可能是可优化的)副本?

我见过有人说过这两件事.请引用文字作为证据.还请添加其他案例.

c++ initialization

230
推荐指数
5
解决办法
5万
查看次数

为什么编译器在声明对象std :: vector但从未使用时不发出警告?

#include <vector>

class Object
{
};

int main()
{
    Object myObject;
    std::vector<int> myVector;
}
Run Code Online (Sandbox Code Playgroud)

编译器发出:

warning: unused variable 'myObject' [-Wunused-variable]
Run Code Online (Sandbox Code Playgroud)

没有警告myVector.为什么?有没有办法实现这个?

c++ compiler-warnings unused-variables

16
推荐指数
2
解决办法
1280
查看次数