小编pio*_*otr的帖子

有没有办法自动生成doxygen进程未记录的C代码?

通常它会忽略未记录的C文件,但我想测试一下Callgraph的功能,你知道如何在不更改C文件的情况下解决这个问题吗?

c doxygen

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

检查ipython中最后一个命令的退出状态

有人知道如何检查ipython中最后执行的命令(退出代码)的状态吗?

python ipython

7
推荐指数
2
解决办法
3217
查看次数

让g ++警告未初始化的POD成员变量

如果您忘记在ctor初始化列表中声明成员POD,是否有办法打印警告?我正在浏览文档但找不到任何东西.g ++ - 4.4这里.

c++ warnings g++

7
推荐指数
2
解决办法
852
查看次数

分组是否在Perl正则表达式字符类中工作?

考虑以下代码:

perl -wne 'chomp;print if m/[^(?:test)]/'
Run Code Online (Sandbox Code Playgroud)

我很惊讶地发现在一个角色类中进行分组是有效的,这有(?!pattern)什么不同 ?

regex perl

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

检测贝叶斯分类器中的未知类

如果你有一个针对一组类训练的贝叶斯分类器,如何检测输出是否足以选择一个类?这对于检测不能归类的样本是有用的.我已经尝试过测试类概率是否超过所有clases概率的均值+ 2*stddev,但我认为它不会很强大.

classification bayesian

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

这是在mercurial中实现对接线样式分支模式的正确方法吗?

我们正在考虑实现Docking Line分支模式,以便将一个功能一次合并到暂存分支中,然后,如果测试成功集成到稳定分支并进行发布.问题如下:我们是否应该将mercurial中的默认分支设置为stable或staging分支,因为如果功能没有删除分段分支很可能会被撤销,因此开发人员必须合并到功能分支中从稳定的分支而不是'分期'或对接线.

mercurial repository-pattern branching-and-merging

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

有没有运气调试lambdas与gdb?

尝试7.2为debian,但似乎不可能进入c ++ 0x lambdas.

lambda gdb c++11

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

如何获取lambda的返回类型,在C++ 11中减少函数

我正在尝试实现reduce函数,但我不知道如何获取lambda的返回类型:

template <typename IT, typename F, typename OT = IT>
auto reducef(const IT& input, F func) -> decltype(func(IT::value_type))
{
    decltype(func(typename IT::value_type)) result = {}; 
    return std::accumulate(input.begin(), input.end(), result, func);
}
Run Code Online (Sandbox Code Playgroud)

编译器输出如下:

test.cpp: In function ‘int main(int, char**)’:
test.cpp:37:80: error: no matching function for call to ‘reducef(std::vector<int>&, main(int, char**)::<lambda(const int&, const int&)>)’
test.cpp:37:80: note: candidate is:
test.cpp:22:6: note: template<class IT, class F, class OT> decltype (func(IT:: value_type)) reducef(const IT&, F)
test.cpp:22:6: note:   template argument deduction/substitution failed:
test.cpp: In substitution of ‘template<class …
Run Code Online (Sandbox Code Playgroud)

c++ c++11

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

使用pimpl移动类将无法编译

在下面的例子中,如何正确调用~CImpl,但是当需要移动类时,编译器说它有一个不完整的类型?

如果Impl的声明被移动到它工作的标题,我的问题是如何将析构函数调用为好,所以它似乎不是类型不完整,但移动时出现问题.

档案:C.hpp

#include <memory>

class Impl;


class C
{
public:
    C();
    ~C();

    C(C&&) = default;
    C& operator=(C&&) = default;

    std::unique_ptr<Impl> p;
};
Run Code Online (Sandbox Code Playgroud)

档案C.cpp

#include "C.hpp"
#include <iostream>

using namespace std;

class Impl
{
public:
    Impl() {}
    virtual ~Impl() = default;
    virtual void f() = 0;
};

class CImpl: public Impl
{
public:
    ~CImpl()
    {
        cout << "~CImpl()" << endl;
    }
    void f()
    {
        cout << "f()" << endl;
    }

};


C::C():
    p(new CImpl())
{}

C::~C()
Run Code Online (Sandbox Code Playgroud)

file:main.cpp

#include <iostream>
#include …
Run Code Online (Sandbox Code Playgroud)

c++ pimpl-idiom opaque-pointers c++11

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

嵌套的lambda捕获

当访问变量a里面的"run"lambda时,我观察到地址与main中的'a'不同.这种情况只发生在这种lambda嵌套中.这是预期的吗?我只能通过这种非平凡的嵌套来重现.

我用lambda中的gdb检查地址,这个 - > __ a

用gdb打印lambda内部产生垃圾,而lambda在lambda对象中有捕获的参数,这就是为什么这个 - > __ a的地址不同于:

(gdb) p &a
$5 = (unsigned int *) 0x7fffffffdce8
(gdb) p *this
$6 = {__a = @0x7fffffffdde8}
(gdb) p a
$7 = 4207233
(gdb) p this->__a
$8 = (unsigned int &) @0x7fffffffdde8: 2
Run Code Online (Sandbox Code Playgroud)

当lambda没有嵌套时,我记得观察同一个地址.

目前在g ++ - 4.5(Debian 4.5.3-3)4.5.3和g ++ - 4.6(Debian 4.6.0-10)4.6.1 20110526(预发布)中看到了这种行为

#include <string>
#include <cstdlib>
#include <cassert>
#include <vector>
#include <stdexcept>
#include <stdint.h>
#include <algorithm>
using namespace std;
int main(int argc, char *argv[])
{
    unsigned a …
Run Code Online (Sandbox Code Playgroud)

lambda c++11

5
推荐指数
1
解决办法
481
查看次数