ST 问答列表

当复制结构在 C++ 中不可用时,为什么不调用复制评估运算符?

作者:pauk 提问时间:11/8/2021

为什么假设我有一个这样声明的对象:它是由默认构造函数初始化的(这里不是很重要,如何初始化,重点是它被初始化了)并且我以这种方式创建另一个对象:复制构造函数被隐式调用,但是如果我删除复制构造函数,那么,...

当类具有 const std::unique_ptr 类型的成员时,您能否设计一个构造函数以允许“类 c(std::move(another_class))”?

作者:mercury0114 提问时间:1/15/2023

下面是我尝试设计的类的简化版本 class Class { public: Class(std::unique_ptr<int>&& ptr): ptr_(std::move(ptr)) {} ...

是否可以分配或复制具有 const 成员的类

作者:Biear 提问时间:3/3/2023

根据 abseil.io/tips/177 的说法,它说 具体来说,如果您的类具有 const 成员,则无法将其分配给(无论是通过复制分配还是移动分配)。该语言可以理解这一点:如果您的类型具有 co...

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

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

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

为什么 write() 和 read() 似乎写入和读取超过一个字节?

作者:mishar 提问时间:8/1/2019

其中 ,a 可以容纳的最大值为 127,即 8 位。此外,使用的 read() 方法 (它继承自 ) 声明它只读取一个 ,而使用 (它继承自 ) 的 write() 方法声明它只写一个 。但是,当我传...

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

作者: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,...

Java 8 中的优先级运算符 - 后缀运算符优先

作者:jav 提问时间:8/26/2021

在 java 8 中的优先运算符之后,很明显后缀运算符 (expr++ expr--) 比一元运算符、前一元运算符 (++expr --expr) 具有更高的优先级。 但是,在执行此代码时: x =...

函数 f 在做什么?

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

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


共7753条 当前第86页