问题标签 [in-class-initialization]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
127 浏览

c++ - 使用指向类私有方法的指针的命名参数惯用语

在做一些可能不是真正“传统”的事情时,我遇到了 C++ 编译错误。为了让事情变得更容易,我只是以更易于阅读的方式重新编写了我试图使用的机制,并检查了我是否遇到了同样的问题。

首先这里是代码:

test.h // - - C++ - -

test.cpp // - - C++ - -

这是错误:

所以,我不确定这是实现我想要的最好的方法(可能不是,无论如何,如果你有其他建议,他们是非常受欢迎的)但我现在的目标是让它发挥作用或确切地理解为什么它不能工作让我从中学到一些东西!

基本思想是:

  • 类“item”可以使用命名参数惯用语使用连接到其构造函数的类“init”的方法“has_funcPtr”来初始化,例如:“init().has_funcPtr(&function_name)”。
  • 类“user”可以将指向其私有方法“func1”的指针存储为其类型为“item”的私有成员的私有成员。

这样,当调用对象“item”的特定方法时(为简单起见,我不在这里包含这么长的部分,因为它与错误无关,而只是描述这段代码的目标)该方法可以做一些事情并通过指向函数的指针调用其父对象“用户”的私有方法(我希望这足够清楚......)。

现在,我认为对象的初始化顺序存在问题,但我不确定在哪里以及如何修复它。特别是我认为,由于“func1”方法不对“user”类的任何成员进行操作,那么它的引用可以直接在初始化列表中用于初始化“init”对象并将其提供给“item” “ 目的。

谢谢大家

0 投票
2 回答
7193 浏览

java - 在 Spring Beans 中初始化字段的正确方法是什么?

我想知道我应该如何初始化 Spring Beans 中的字段?以下是几种可能的解决方案:

1. 直接在声明时初始化字段

@Value2.使用注解初始化字段

@Autowired3.使用注解初始化字段

@PostConstruct4.使用注解初始化字段

所有测试都成功并且没有显示任何差异:

这些声明是否彼此相等,或者我应该只使用其中一个还是不使用它们?

0 投票
0 回答
39 浏览

c++ - 为什么 const char* 静态字段必须是 constexpr 才能在类中初始化它?

我有以下代码:

标记的行给了我以下错误:

错误:非整数类型的静态数据成员“const char * st::str”的类内初始化需要“constexpr” [-fpermissive]

当我添加constexpr它时,一切都是花花公子。

为什么会这样?std::string由于类主体中不允许初始化非普通类型(例如或用户定义的类型),为什么const char*只使用constexpr?

0 投票
1 回答
1148 浏览

c++ - 使用显式定义的默认构造函数将 unique_ptr 的类内成员初始化程序设置为 nullptr 错误

我有一个类模板,它使用类内成员初始化程序将 unique_ptr 分配给 nullptr。如果我使用MyClass(){},一切都很好。如果我使用MyClass() = default,我会得到:

这是一个无法使用 g++ 4.8.4 编译的最小示例:

有任何想法吗?

0 投票
1 回答
448 浏览

c++ - 数组成员 C++11 的类默认初始值设定项

如何在 C++11 中默认初始化成员数组?看来我必须提供一个界限。

编译良好。但是如果我省略了界限,那么我会得到一个编译器错误:

错误:'const char* [0]' const char* num2letter[]{""、""、"abc"、"def"、"ghi"、"jkl"、"mno"、"pqrs" 的初始化程序太多, "tuv", "wxyz"};

为什么编译器不能像通常使用聚合初始化为本地数组定义一样推断界限?

0 投票
1 回答
472 浏览

c++ - C++ 类内初始化

在使用类内初始化器时,为什么我可以使用初始化'='的复制形式和初始化'{}'的大括号列表形式,但不能使用直接形式'()'。

错误:需要类型说明符

错误:语法错误:'常量'

0 投票
1 回答
100 浏览

c++ - 检索类内初始化成员的默认值

有没有办法直接检索成员的默认值,该成员已使用类内初始化定义?例如:

基本上是“复制”(类似于decltype)整个声明的东西,包括默认值。存在这样的东西吗?

0 投票
2 回答
1415 浏览

c++ - c++初始化类成员变量依赖于其他成员变量

theta基本上,一个由另一个类成员初始化但初始化良好的非静态成员。然后valley_max初始化theta如你所见。现在一切正常。然后我想初始化一个边界为valley_max. 首先,我得到了错误:

无效使用非静态数据成员

然后我添加static const int valley_max如你所见。但我得到了如下错误:

数组绑定在 ']' 标记之前不是整数常量

我只是想知道我是否可以初始化其边界由另一个成员变量初始化的成员变量初始化的数组。
谢谢你的帮助。

AP_Tmxk_VFH.cpp

AP_Tmxk_VFH.h

0 投票
1 回答
1276 浏览

python - Python:多重继承、复制构造函数、类初始化和 () 重载

我正在寻找一种方法来使用复制构造函数和 () 运算符初始化派生类,就像在 C++ 中一样

然后我在考虑如何实现这种初始化方式,以防我有一个派生自其他两个加上它自己的成员的类并提出以下内容:

然后调用:

所以我想知道这有多少是非pythonic方式?如果有更好的方法(或没有方法)来做同样的事情?

0 投票
1 回答
75 浏览

swift - 在 Swift 中初始化类属性

所以我正在尝试创建一个充当“演示文稿”的游乐场,这意味着我有多张幻灯片并且它是交互式的。我是 Swift 的新手,所以真的需要一些帮助。

这是我的主要代码

这是我的 MainScene.swift 代码 -

基本上,我想通过更改上一张幻灯片的标题/信息的功能来设置多张幻灯片。但是,我认为为我的幻灯片定义一个 SKView 类以便使用 SKTransition 会好得多。

但是,使用我当前的代码,我遇到了执行中断错误。此外,当我更改内容时,错误类型会跟随我进入预期声明或没有 MainScene.swift 的类初始值设定项。

真的,我只想修复我对 Slide 类的声明,然后使用该类制作多张幻灯片。