我已经在我的 OS X 上编译了qt-everywhere-opensource-src-5.5.1,并通过qt-creator-opensource-mac-x86_64-3.6.0.dmg安装了一个独立的 Qt Creator 。
根据构建和运行示例的步骤 1,我可以在欢迎模式下的示例选项卡中看到示例,而我在那里没有示例。任何的想法?
给定代码:
val test = List(1, 2, 3)
printList[Int](test.dropWhile((a: Int) => {a == 1}))
Run Code Online (Sandbox Code Playgroud)
并且它将正确打印:2 3
使用这样的代码:
val test = List(1, 2, 3)
printList[Int](test.dropWhile((a: Int) => {a == 2}))
Run Code Online (Sandbox Code Playgroud)
它将打印不正确:1 2 3
所以呢a == 3
我如何使用dropWhile适当的?
好吧,我发现dropWhile返回"这个列表的最长后缀,其第一个元素不满足谓词p." 所以,如果我想要检测一些元素满足谓词p,我必须使用filterNot :)
我们知道,std :: unique_lock可能会在调用析构函数时释放互斥锁.
考虑下面源代码中第8行的行为lck.unlock(),我的问题是在函数返回之前解锁互斥是否会增加并发性?
MessageWrapper ServerLeftCommunicator::receive() {
unique_lock<mutex> lck(recvMsgQCvMtx_);
recvMsgQCv_.wait(lck, [this] {
return ! recvMsgQ_.empty();
});
auto wrapper = recvMsgQ_.front();
recvMsgQ_.pop();
lck.unlock();
return wrapper;
}
Run Code Online (Sandbox Code Playgroud)
谢谢.