小编Tim*_*hko的帖子

交换带有自身副本的矢量

在阅读代码时,我看到:

vector<TypeA>(typeAObj).swap(typeAObj);
Run Code Online (Sandbox Code Playgroud)

我的问题是

为什么他们用自己的副本交换一个向量?

c++ vector

10
推荐指数
2
解决办法
964
查看次数

从析构函数调用虚方法 - 解决方法?

我需要声明敲定方法finalize()的基础类的所有后代Base,应该销毁过程中被调用,我的意图是要求纯粹virtual void Base::finalize() = 0~Base(),但C++者禁用这样的事情.所以我的问题是

我们怎样才能迫使后代以正确和初步的方式完成一些最终的工作?

该代码无法编译:

#include <QDebug>
class Base {
        public:
            Base(){}
            virtual ~Base(){
                qDebug("deleting b");
                finalize();
            }
            virtual void finalize() = 0;

    };

class A : public Base
    {
    public:
        A(){}
        ~A(){}
        void finalize(){qDebug("called finalize in a");}
    };

    int main(int argc, char *argv[])
    {
        Base *b = new A;
        delete b;
    }
Run Code Online (Sandbox Code Playgroud)

如果我Base::finalize()不是纯粹的虚拟,那么它就会从~Base()没有调度到子节点来调用,因为它已经被破坏了.

我可以从孩子的析构函数中调用finalize(),但问题是如何强制这样做.换句话说,我的问题是:是否有可能迫使编写Base类后代的人使用finalizing方法,而不是在文档中对其进行评论?:)

c++ inheritance

7
推荐指数
1
解决办法
3591
查看次数

QT Creator,c ++ 11的语法检查

如何关闭基于c ++ 11周期范围的运算符的错误突出显示(代码下的红色波形)?

int myint[] = {1,2,3,4,5};
for (auto x : myint){/**/}
Run Code Online (Sandbox Code Playgroud)

悬停提示显示"意外令牌:".代码编译完美.

另一个问题 - 自动完成不会unique_ptrstd::命名空间中显示,但编译正常.

  • Qt Creator 2.4.0基于Qt 4.7.4(32位)建于2011年12月12日01:10:32

c++ qt qt-creator c++11

7
推荐指数
3
解决办法
9214
查看次数

NetBeans GUI构建器:"正在加载..."消息

NetBeans教程集中的示例项目只包含一个Swing表单(空JFrame),编译并运行正常,但我无法更改表单的布局并使用NetBeans GUI buider添加其中的元素,因为它仅显示单个空占位符"loading ..."消息.任何线索如何解决它将非常感激.

Kubuntu 12.04,Openjdk 1.7,带有活动GUI设计器插件的NetBeans 7.0.1.

日志文件包含错误

SEVERE [org.openide.util.RequestProcessor]: Error in RequestProcessor org.netbeans.modules.form.FormDesigner$PreLoadTask

java linux swing netbeans

6
推荐指数
1
解决办法
4357
查看次数

在打字稿应用程序中覆盖 moment.now()

我有一项任务是在 Angular2 应用程序中将 MomentJS 与服务器时间同步。

MomentJS有一个功能,改变时间源,因为它说明在这里

但是打字稿编译器不允许我覆盖 moment#now() 函数,因为它作为函数从 moment.d.ts 中的命名空间导出,所以我得到了错误。

不能分配给 'now',因为它是一个常量或只读属性。

同时,moment.d.ts 有一条评论为moment#now:

//... 覆盖以获取利润

所以我假设我做错了什么。

我使用 angular-cli rc4, MomentJS 2.18.1 并将其导入为

从“时刻”导入 * 作为时刻;

我感谢您的帮助。

momentjs typescript angular

6
推荐指数
1
解决办法
730
查看次数

标签 统计

c++ ×3

angular ×1

c++11 ×1

inheritance ×1

java ×1

linux ×1

momentjs ×1

netbeans ×1

qt ×1

qt-creator ×1

swing ×1

typescript ×1

vector ×1