复制省略 问答列表

复制省略和简单可复制类型

作者:Antoine Morrier 提问时间:5/4/2021

从标准的 6.7.7(临时对象)中,我们可以看到: 当类类型 X 的对象传递给函数或从函数返回时,如果 X 至少有一个合格的复制或移动构造函数 ([special]),则每个此类构造函数都是微不足道...

在编译时添加成员,无需复制/移动构造函数

作者:Guillaume BERLAND 提问时间:1/15/2023

我正在学习可变参数模板和折叠表达式。 我想避免使用动态分配和指针。 为了说明我的问题,我创建了继承自 I_Foo 的 Foo(删除复制和移动构造函数)类。 class I_Foo { public...

“explicit”关键字如何影响 C++ 复制构造函数和函数参数?

作者:Andrés 提问时间:5/24/2023

修改复制构造函数的“explicit”关键字可能会导致问题。 作为函数参数传递的对象特别容易受到这些问题的影响。 这是我的代码: #include <iostream> #include <str...

使用不可复制和不可移动类型时出现意外的 memcpy co_await

作者:Lukas Lang 提问时间:6/9/2023

序言 这是对我尝试使用代码执行的操作的描述,请跳到下一节以查看实际问题。 我想在嵌入式系统中使用协程,因为在嵌入式系统中,我负担不起太多的动态分配。因此,我正在尝试以下操作:我有不可复制、不可移动...

Clang 错误:调用私有构造函数,而实际上没有调用它们

作者:Ya Ihniy 提问时间:6/18/2023

我做了一个类的静态函数,并将构造函数设为私有。现在我想使用这个函数。Clang++ 说“构造函数是私有的”,而 g++ 可以正常编译。 我不知道任何标准中是否有任何规则可能会以任何方式影响这一点。任...

C++ 在优化后按值返回类对象的内存位置

作者:codepoet 提问时间:7/22/2023

假设有一个用户定义。一些帖子建议 C++ 类对象“永远不会”在堆上分配,除非分配了 .但!另一方面,有些帖子建议,按值从函数返回本地外观的类对象不一定复制任何数据。所以!这种对象的数据首先存储在哪里?...

当“by-value”参数也是“by-value”返回参数时,为什么不能进行复制省略?[复制]

作者:EL IAS 提问时间:9/13/2023

这个问题在这里已经有答案了: 为什么返回参数时不允许 RVO? (3 个答案) 2个月前关闭。 在下面的代码片段中,我的函数尝试将其“by-value”参数作为“by-value”返回值返回。我看了...

复制省略重叠对象

作者:Vinod 提问时间:9/19/2023

参考:复制省略 仅当已知正在初始化的对象不是潜在重叠的子对象时,这才适用: struct C { /* ... */ }; C f(); struct D; D g(); struct D...

在 C++ 中创建和删除对象

作者:Tao 提问时间:10/9/2023

我在下面有非常简单的代码来理解 C++ 对象的创建和删除。输出并不是我所期望的。为什么? class Box{ public: static int count; Box(double x,...

禁用复制/移动省略时如何有效地返回对象?

作者:chakmeshma 提问时间:10/21/2023

假设在编译时禁用了复制省略,那么以下操作是否是避免不必要的复制(模拟复制省略)的有效做法? Container getContainer() { Container c; return c; ...


共12条 当前第1页