constructor相关内容

对象初始值设定项和构造函数之间有什么区别?

两者之间有什么区别,您何时会在“构造函数"上使用“对象初始值设定项",反之亦然?如果这很重要,我正在使用 C#.另外,对象初始值设定项方法是特定于 C# 还是 .NET? 解决方案 对象初始值设定项是添加到 C# 3 中的内容,目的是在您使用对象时简化对象的构造. 构造函数运行,给定 0 个或多个参数,用于创建和初始化对象之前调用方法获取已创建对象的句柄.例如: MyObject ..
发布时间:2021-12-02 13:44:07 C#/.NET

在 React 构造函数中调用 super() 有什么作用?

从 docs 中学习 React 并遇到了这个例子:> class Square 扩展了 React.Component {构造函数(){极好的();this.state = {值:空,};}...} 根据 Mozilla,超级允许您在构造函数中使用 this.是否有任何其他原因可以使用独立的 super(我知道 super 也允许您访问父类的方法)但是使用 React 是否还有任何其他用例只 ..
发布时间:2021-12-02 10:44:31 前端开发

我可以在 C++ 中从另一个构造函数调用构造函数(做构造函数链接)吗?

作为 C# 开发人员,我习惯于通过构造函数运行: class Test {公共测试(){做点什么();}公共测试(整数计数):这个(){DoSomethingWithCount(count);}公共测试(整数计数,字符串名称):这个(计数){DoSomethingWithName(name);}} 有没有办法在 C++ 中做到这一点? 我尝试调用类名并使用“this"关键字,但都失败了. ..
发布时间:2021-12-01 15:13:30 C/C++开发

在构造函数中调用虚函数

假设我有两个 C++ 类: A 类{民众:A() { fn();}虚拟无效 fn() { _n = 1;}int getn() { 返回 _n;}受保护:国际_n;};B类:公共A{民众:B() : A() {}虚拟无效 fn() { _n = 2;}}; 如果我写如下代码: int main(){乙乙;int n = b.getn();} 人们可能期望 n 设置为 2. 结果 n ..
发布时间:2021-12-01 14:53:47 C/C++开发

类型名称后面的括号与 new 有区别吗?

如果'Test'是一个普通的类,有什么区别: Test* test = new Test; 和 Test* test = new Test(); 解决方案 让我们学究,因为有些差异实际上会影响您的代码行为.以下大部分内容摘自对“旧的新事物"文章的评论. 有时new运算符返回的内存会被初始化,有时则不会,取决于你新建的类型是否为POD(纯旧数据),或者它是包含 POD 成员并使用编译 ..
发布时间:2021-12-01 14:46:37 C/C++开发

在 C++11 中三分法变成五分法?

所以,看完关于右值引用的精彩讲座,我认为每个类都会从这样的“移动构造函数"中受益,templateMyClass(T&& other) edit 当然还有一个“移动赋值运算符",template我的课堂&operator=(T&& other) 正如菲利普在他的回答中指出的那样,如果它有动态分配的成员,或者通常存储指针.就像您应该拥有复制构​​造函数、赋值运算符和析构函数一样,如果前面提到的要点适 ..
发布时间:2021-12-01 14:43:31 C/C++开发

给 C# 自动属性一个初始值的最佳方法是什么?

如何给 C# 自动属性一个初始值? 我要么使用构造函数,要么恢复到旧语法. 使用构造函数: class Person{公众人物(){Name = "初始名称";}公共字符串名称 { 获取;放;}} 使用普通属性语法(带有初始值) private string name = "Initial Name";公共字符串名称{得到{返回名称;}放{名称 = 值;}} 有更好的方法吗? ..
发布时间:2021-12-01 09:39:17 C#/.NET

在 C# 中调用基本构造函数

如果我从基类继承并且想从继承类的构造函数传递一些东西给基类的构造函数,我该怎么做? 例如,如果我从 Exception 类继承,我想做这样的事情: class MyExceptionClass : 异常{公共 MyExceptionClass(字符串消息,字符串 extraInfo){//这就是一切崩溃的地方基地(消息);}} 基本上我想要的是能够将字符串消息传递给基本的 Excepti ..
发布时间:2021-12-01 09:38:12 C#/.NET

自定义属性的构造函数何时运行?

什么时候运行?它是为我应用它的每个对象运行,还是只运行一次?它可以做什么,或者它的行为受到限制? 解决方案 构造函数何时运行?用示例试试: class 程序{静态无效主(字符串 [] args){Console.WriteLine("创建 MyClass 实例");MyClass mc = new MyClass();Console.WriteLine("在 MyClass 实例中设置值 ..
发布时间:2021-11-30 15:45:59 C#/.NET

在构造函数中调用异步方法?

总结:我想在构造函数中调用异步方法.这可能吗? 详细信息:我有一个名为 getwritings() 的方法可以解析 JSON 数据.如果我只是在 async 方法中调用 getwritings() 并将 await 放在它的左边,一切都正常.但是,当我在页面中创建 LongListView 并尝试填充它时,我发现 getWritings() 令人惊讶地返回 null 和LongListVie ..
发布时间:2021-11-30 13:34:17 C#/.NET

构造函数可以是异步的吗?

我有一个项目,我试图在构造函数中填充一些数据: 公共类ViewModel{公共 ObservableCollection数据{得到;放;}异步公共 ViewModel(){数据 = 等待 GetDataTask();}公共任务>获取数据任务(){任务>任务;//创建一个代表获取数据的任 ..
发布时间:2021-11-30 13:29:18 C#/.NET

编译器何时为类的特殊成员提供定义?

我知道当我定义一个空类并且根本不提供任何声明时,编译器将为默认和复制构造函数、析构函数和复制赋值运算符提供定义. 这有什么规则?编译器什么时候不提供复制构造函数?移动构造函数和移动赋值运算符呢? (例如:如果我的类具有像 int& 这样的引用成员,编译器将不会为任何赋值运算符提供定义.这种情况何时会发生?) 解决方案 编辑: 在 C++11 中,它比隐式声明或不隐式声明更复杂. ..
发布时间:2021-11-30 12:35:14 C/C++开发

C++ 复制构造构造和赋值问题

这里摘录自“C++ Gotchas"一书第 56 条: 经常看到一个简单的写入的 Y 对象的初始化三种不同方式中的任何一种,好像它们是等价的. Y a( 1066 );Y b = Y(1066);Yc = 1066; 事实上,所有这三个初始化可能会导致在相同的目标代码中生成,但它们不等价.a 的初始化称为直接初始化,它确实正是人们所期望的.这初始化是通过直接调用 Y::Y(int). ..
发布时间:2021-11-30 12:29:14 C/C++开发

如何在 C++ 中使用基类的构造函数和赋值运算符?

我有一个 B 类,其中包含一组构造函数和一个赋值运算符. 这是: B 类{民众:B();B(const string&s);B(const B& b) { (*this) = b;}住宿加早餐旅馆运算符=(const B & b);私人的:虚空 foo();//和其他私有成员变量和函数}; 我想创建一个继承类D,它只会覆盖函数foo(),不需要其他更改. 但是,我希望 D 具有与 ..
发布时间:2021-11-30 12:26:38 C/C++开发

如何检查构造函数参数并抛出异常或在 Scala 的默认构造函数中进行断言?

我想检查构造函数参数并拒绝构造抛出 IllegalArgumentException 以防参数集无效(值不符合预期的约束).如何在 Scala 中编写代码? 解决方案 在 Scala 中,类的整个主体是您的主要构造函数,因此您可以在那里添加验证逻辑. scala>类 Foo(val i: Int) {|如果(我<0)|throw new IllegalArgumentException( ..
发布时间:2021-11-30 11:22:03 其他开发

我可以在 React 组件的构造函数中使用箭头函数吗?

这个问题类似于当使用 React 时,最好在构造函数中使用粗箭头函数还是绑定函数? 但有点不同.您可以在构造函数中将函数绑定到 this ,或者在构造函数中仅应用箭头函数.请注意,我只能在我的项目中使用 ES6 语法. 1. class Test 扩展 React.Component{构造函数(道具){超级(道具);this.doSomeThing = this.doSomeThing.b ..
发布时间:2021-11-28 22:17:16 前端开发

std::vector 的类型要求

我仍然对在 C++11 中与 std::vector 一起使用的类型的要求感到困惑,但这可能是由错误的编译器 (gcc 4.7.0) 引起的.这段代码: struct A {A() : X(0) { std::cerr ..
发布时间:2021-11-27 08:13:32 C/C++开发