小编Seb*_*ach的帖子

为MSVC预建的1.37升级

我找不到Boost 1.37.0的预构建的MSVC++库,只有源代码.我不明白他们奇怪的构建系统是如何工作的...有没有我可以找到下载Visual Studio项目的地方?

c++ boost bjam

6
推荐指数
2
解决办法
5870
查看次数

QGraphicsView:禁用自动滚动

我希望有一个永远不会自动滚动的QGraphicsView.

类似:基本上,我的问题与http://developer.qt.nokia.com/forums/viewthread/2220相同,但该主题没有得到答案.

到目前为止我尝试了什么:

  • 在showEvent()和resizeEvent()中,我做了ui-> graphicsView-> fitInView(...),只要项目没有超出屏幕矩形就可以正常工作
  • 我也试过操纵视图变换,但除了缩放它的系数永远不会改变,所以这也没有结果
  • Diabling滚动条外观也没有帮助

另见http://doc.qt.io/qt-4.8/qgraphicsview.html.

qt scroll qgraphicsview

6
推荐指数
2
解决办法
6118
查看次数

C++返回一个对象副本

我写了以下代码:

class MyObjectHolder {
public:
    std::vector<int> getMyObject() const {
        return myObject;
    }

private:
    std::vector<int> myObject;
};
Run Code Online (Sandbox Code Playgroud)

在我的程序的某些时候,我尝试使用该getMyObject方法并仅const在检索到的对象上使用方法:

const std::vector<int> myObject = myObjectHolder.getMyObject();
myObject.size();
int a = myObject.front();
Run Code Online (Sandbox Code Playgroud)
  • 现在,编译器是否可能优化此代码以便不执行任何副本std::vector<int>

    是否有可能编译器确定我只使用const检索到的对象上的方法(并且假设mutable它背后没有发生废话)并且它不会制作对象的任何副本constprivate成员上执行这些操作的MyObjectHolder呢?

  • 如果是的话,如果我没有明确声明为const std::vector<int> myObjectas ,是否可能const

  • 如果不是,不这样做的原因是什么?在这种情况下,这种优化将难以实现/推断它可能并在这里更正/等...?

c++ optimization copy copy-constructor rvo

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

C++标准是否需要二进制机器?

我在标准中找到:

整数类型的表示应使用纯二进制计算系统定义值

但我的理解是,这不是要求C++必须在基于硬件基础2的机器上实现; 换句话说,这似乎只是程序员应该看到的要求.

C++标准是否需要二进制CPU,或者是否可以在三元或十进制机器上实现有效的C++实现?


小小的背景资料:在历史上,已经有电脑小数,ternaries,或计算机,其中一个C++字节是36位长(PDP-10)

c++ language-lawyer

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

是'或'在赋值pythonic的右侧使用?

情况

(注意:以下情况仅仅是示例性的.这个问题适用于任何可以评估为bool的事情)

如果用户未提供自定义列表,则应使用默认列表:

default_list = ...
custom_list = ...
if custom_list:
    list = custom_list
else:
    list = default_list
Run Code Online (Sandbox Code Playgroud)

你可以缩短到:

default_list = ...
custom_list = ...
list = custom_list if custom_list else default_list
Run Code Online (Sandbox Code Playgroud)

现在,根据https://docs.python.org/2.7/reference/expressions.html#or ...

表达式x or y首先评估x; 如果x,则返回其值; 否则,将评估y并返回结果值.

...,or不返回布尔值,而是返回布尔转换不为false的第一个值.因此,以下是有效的代码:

list = custom_list or default_list
Run Code Online (Sandbox Code Playgroud)

这与C#Null Coalescing运算符类似,不同之处在于它应该作为False Coalescing Operator在Python中重新生成,它返回第一个非false参数.

最后一个例子似乎更容易阅读,但它被认为是pythonic?

无论PEP8(程序),也不pylint的不抱怨.

python boolean-logic coding-style conditional-operator language-lawyer

6
推荐指数
2
解决办法
290
查看次数

NSFastEnumerationMutationHandler崩溃

有谁可能在这里帮助我,为什么NSFastEnumerationMutationHandler我的代码突然崩溃了.我几乎是空白的,为什么这次崩溃突然加剧,以及如何压制这一次.

谢谢.

iphone crash

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

C#中的C ++ Armadillo代码

我想在C#应用程序中使用Armadillo,任何人都有在C#中使用armadillo的经验,我对C#并不熟悉。

我知道犰狳有一个.dll,反正有没有在C#中导入此dll ...

c# c++ armadillo

5
推荐指数
2
解决办法
1449
查看次数

为什么`boost :: multi_array_ref`的析构函数是非虚拟的?

之间的关系const_multi_array_ref,multi_array_ref并且multi_array是如下:

  • multi_array_ref 源于 const_multi_array_ref
  • multi_array 源于 multi_arry_ref

然而,的析构函数const_multi_array_refmulti_array_ref有非虚.实际上,它们没有明确实现的析构函数.只有multi_array一个.这是否意味着不推荐以下用法?

multi_array_ref<float, 2> * = new multi_array<float, 2>(extents[3][3]);
Run Code Online (Sandbox Code Playgroud)

如果是这样,为什么?

c++ boost-multi-array

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

在具有相同名称的成员函数的情况下的ADL

情况是某些成员函数bar::Bar::frobnicate想要利用ADL从具有相同名称的函数内的某个未知命名空间中查找函数.但是,它只找到自己的名字.

测试用例

(请注意,实际上,这Bar是一个Foo不可知的模板;这只是可重现的,最小的测试用例)

namespace foo {
    struct Foo {};
    void frobnicate(Foo const &) {}
}

namespace bar {
    struct Bar {
        void frobnicate() {
            foo::Foo foo;
            frobnicate(foo); // <-- error
        }
    };
}

int main () {
    bar::Bar x;
    x.frobnicate();
    frobnicate(foo::Foo());
}
Run Code Online (Sandbox Code Playgroud)

结果是:

test.cc: In member function ‘void bar::Bar::frobnicate()’:
test.cc:10:31: error: no matching function for call to ‘bar::Bar::frobnicate(foo::Foo&)’
test.cc:10:31: note: candidate is:
test.cc:8:18: note: void bar::Bar::frobnicate()
test.cc:8:18: note:   candidate expects 0 arguments, …
Run Code Online (Sandbox Code Playgroud)

c++ interface argument-dependent-lookup non-member-functions

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

没有对Task的引用会导致内存泄漏吗?

请考虑以下代码段:

public void Do()
{
   ....
   Task.Delay(5000).ContinueWith(t => DoSomething());
   ....
}
Run Code Online (Sandbox Code Playgroud)

假设该Do方法在Delay任务完成之前完成执行且DoSomething不可取消.

对于Task返回的ContinueWith方法没有维护引用这一事实会导致某种内存泄漏吗?

.net c# memory-leaks task-parallel-library

5
推荐指数
2
解决办法
2855
查看次数