澄清我对复制初始化和直接初始化的见解
作者:Finley 提问时间:7/18/2018
按如下方式定义类: class A { public: A(): s("") {} //default constructor A(const char* pStr): s(pStr) {} /...
制 问答列表
作者:Finley 提问时间:7/18/2018
按如下方式定义类: class A { public: A(): s("") {} //default constructor A(const char* pStr): s(pStr) {} /...
作者:Lajos Nagy 提问时间:4/22/2020
只是想仔细检查:C++ 标准保证成员变量按隐式复制构造函数的声明顺序复制,对吗?在下面的例子中,被复制到之前,对吧?(假设两者都具有非平凡的复制构造函数,并且在复制之前复制正确性很重要。abABab ...
作者:Alberto Tiraboschi 提问时间:4/8/2022
给定以下代码, #include <iostream> #include <string> #include <mutex> #include <string_view> #include <uno...
作者:Darnoc Eloc 提问时间:6/11/2022
如何将模板构造函数添加到类中,以便显式地执行从复杂到复杂的复制初始化,而不会产生歧义?是否有与编译器和 C++ 版本/标准无关的解决方案?有没有一种方法只需要定义构造函数而不需要额外的运算符重载? ...
作者:Itachi Uchiwa 提问时间:8/24/2021
您好,我有这个来自 C++ 入门第 5 版第 19.6 章联合: class Token { public: // copy control needed because our class ha...
作者:overhaul_ 提问时间:8/3/2020
我想问的是,当我没有显式编写任何复制构造函数时,编译器会自动生成默认执行浅层复制的复制构造函数,对吗? 因此,在 main() 程序中,当我更改整数 a、b 和指针 p 的值时,只有 p 的值发生了变...
作者:Donut 提问时间:6/14/2018
我有一个类“A”和一个类“B”,使得 A 包含 B 的实例 class A { B b = B(parameters...); Other thing = 3; } 这段代码的问题在于 B ...
作者:arnie7 提问时间:11/1/2019
我正在经历一个代码实现,其目的是不让任何人创建特定类的对象。下面是代码片段: class CantInstantiate { CantInstantiate(); CantInstantiate...
作者:alexmoran 提问时间:3/1/2020
当我在 C++ 中学习构造函数时,我想到了对我来说很难完全理解的东西。一种是当我们创建一个类的对象时(比如说),如果我们没有为自己编写构造函数,则会调用默认构造函数。(我认为复制构造函数也一样)cla...
作者:Amelio Vazquez-Reina 提问时间:1/1/2023
这个问题在这里已经有答案了: C++ 为什么赋值运算符应该返回常量引用以避免 (a=b)=c (5 个答案) 为什么不在 operator= 中返回 const-reference 而不是引用? (1...