struct 问答列表

C++ 返回值和移动规则异常

作者:tinkerbeast 提问时间:5/30/2020

当我们从 C++ 函数返回一个值时,就会发生复制初始化。例如: std::string hello() { std::string x = "Hello world"; return x; //...

如何完美地转发一个通用引用,要么是常量引用,要么是可移动的右值?

作者:Leon 提问时间:4/18/2023

我已经用 C++20 编写了一个无锁和线程安全的环队列,到目前为止它有效。唯一不完美的是它必须有两个方法,一个接受对左值的常量引用作为参数,另一个接受对右值的引用,以便将右值移动到队列中而不是再次构造...

模板副本分配功能的混淆

作者:Louis 提问时间:6/24/2023

[首先:Windows10 上的 Vs2019,仅支持 C++11] 我对模板复制分配功能感到困惑,例如:在此处输入图像描述 我发现规范化版本不起作用,为什么它不等于复制赋值功能?模板函数不是会像...

为什么这种隐式转换会起作用,为什么会起作用

作者:Александр Кушниренко 提问时间:5/13/2019

我不明白为什么 c1 = {1, 2, 3, 4} 和 c2 = {5, 6, 7, 8} 工作正常,没有声明的构造函数,并且编译器生成的编译器不适合。 我试图通过显式转换来理解:(C&) { 1,...

函数 f 在做什么?

作者:Aniket Saha 提问时间:11/24/2019

下面是我试图弄清楚的代码。在我调用以下构造函数或函数之后,函数实际上在做什么? 我的问题是为什么我会得到这种输出,更具体地说,为什么“复制构造函数调用”被打印了 2 次。请解释这段代码的背景。 ...

如果我们创建一个用户定义的复制构造函数,为什么编译器不提供默认构造函数?

作者:Krishna Kanth Yenumula 提问时间:5/23/2021

代码是: #include <iostream> using namespace std; class Point { int x, y; public: Point(const Point...

委派复制构造函数和 const 数据初始化

作者:Sergey 提问时间:8/1/2017

我有一个包含许多数据成员的类,其中一些是常量。所有数据成员都有适当的复制构造函数,所以我想默认我的类的复制构造函数:A class A { public: A() : a(1) {} A(con...

为什么 CopyConstructible 定义提到“常量 T 的右值表达式”?

作者:code707 提问时间:7/18/2018

以下是 cpppreference 的定义: [https://en.cppreference.com/w/cpp/named_req/CopyConstructible][1] 要求:类型 T ...

为什么使用引用成员可以防止已删除的构造函数错误?

作者:kymkcay 提问时间:4/25/2021

上下文 我有两个类(简化为相关声明): #include <string> #include <fstream> class Lexer { std::ifstream file_; Lex...

将移动构造函数委派到适当的复制构造函数是否安全?

作者:abura 提问时间:6/11/2020

为了避免代码重复,我想将移动构造函数和移动赋值运算符分别委托给适当的复制构造函数和赋值运算符: struct A { A() {...} //default constructor A(co...


共180条 当前第5页