gpt4 book ai didi

c++ - 非指针类成员 : how good is it?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:09:22 27 4
gpt4 key购买 nike

<分区>

我有一个非指针类成员需要在构造函数中初始化:

class Alerter {

protected:
Timer timer;

public:
Alerter(int interval);
};

然后

Alerter::Alerter(int interval) {
timer = createTimer(interval);
}

(简化代码只是为了演示问题)。

我有些怀疑和担心 timer 可能首先使用其无参数构造函数创建,然后该实例被 createTimer 函数返回的内容覆盖。

这种方法有多好?可能的答案可能是:

  • 由其无参数构造函数创建的“空定时器”实际上并没有创建,因为编译器足够聪明,发现我们从来没有在覆盖值之前引用它。
  • 创建了空计时器,但这没关系,因为编写良好的代码应该支持用于一次性实例的便宜的无参数构造函数。
  • 最好使用指针。

哪些假设(或其他假设)是最正确的?

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com