小编Mik*_*ins的帖子

你如何在C++中实现Coroutines

我怀疑它可以移植,但有没有解决方案?我认为可以通过创建备用堆栈并在功能输入上重置SP,BP和IP,并使产量保存IP并恢复SP + BP来完成.析构函数和异常安全看起来很棘手但可以解决.

它完成了吗?这不可能吗?

c++ coroutine c++17

64
推荐指数
8
解决办法
5万
查看次数

你如何调试Qt布局问题

我有一个复杂的对话框,它充满了空白,我无法收缩它.在Designer中,它有许多组件,然后动态隐藏,还有一些动态添加.我添加了大小策略,大小提示和最小大小的转储,但仍然无法弄清楚为什么Qt不会让我拖得更小.

必须有一些工具或技术来解决这个问题.

请分享.

layout qt

13
推荐指数
1
解决办法
2243
查看次数

如何在派生类构造函数之后强制调用基类函数?

我正在为以下情况寻找一个干净的C++习语:

class SomeLibraryClass {
  public:
    SomeLibraryClass() { /* start initialization */ }
    void addFoo() { /* we are a collection of foos */ }
    void funcToCallAfterAllAddFoos() { /* Making sure this is called is the issue */ }
};
class SomeUserClass : public SomeLibraryClass {
  public:
    SomeUserClass() {
      addFoo();
      addFoo();
      addFoo(); // SomeUserClass has three foos.
    }
};
class SomeUserDerrivedClass : public SomeUserClass {
  public:
    SomeUserDerrivedClass() {
      addFoo(); // This one has four foos.
    }
};
Run Code Online (Sandbox Code Playgroud)

所以,我真正想要的是SomeLibraryClass在构造过程结束时强制执行funcToCallAfterAllAddFoos的调用.用户不能将它放在SomeUserClass :: SomeUserClass()的末尾,这会弄乱SomeUserDerrivedClass.如果他把它放在SomeUserDerrivedClass的末尾,那么它永远不会被SomeUserClass调用.

为了进一步说明我的需要,想象一下/*start …

c++ inheritance constructor

3
推荐指数
2
解决办法
610
查看次数

标签 统计

c++ ×2

c++17 ×1

constructor ×1

coroutine ×1

inheritance ×1

layout ×1

qt ×1