小编mat*_*ekm的帖子

并发编程和并行编程有什么区别?

并发编程和并行编程有什么区别?我问谷歌,但没有找到任何帮助我理解这种差异的东西.你能给我一个例子吗?

现在我发现了这个解释:http://www.linux-mag.com/id/7411 - 但"并发性是程序的属性"vs"并行执行是机器的属性"对我来说还不够 - 我还不能说什么是什么.

language-agnostic parallel-processing concurrency

332
推荐指数
12
解决办法
10万
查看次数

Android的; MapView,我该如何设置默认位置?

在android中使用MapView,如何设置默认位置,以便每次加载此应用程序时,它会自动居中/缩放伦敦的位置?

android android-2.2-froyo android-mapview

16
推荐指数
1
解决办法
1万
查看次数

非本地lambda和捕获变量 - "块范围"的含义

我现在正在玩c ++ 11 lambdas,并找到了一个我无法理解的例子.根据标准:

lambda表达式是一个局部lambda表达式,其最小的封闭范围是块作用域(3.3.3); 任何其他lambda-expression在其lambda-introducer中都不应该有一个capture-list

所以,我创造了一些简单的例子:

int a = 10;
auto x  = [a] { return 1;};
int main() {
    int k = 5;
    auto p = [k]{ return k; };
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

ideone中的代码:http://ideone.com/t9emu5

我期望这段代码不能编译,因为在非块范围内捕获变量(或者至少认为auto x = ... part不在块范围内).但代码正在编译 - 可以吗?

如果可以 - 块范围是什么?

(我不确定我使用的是什么编译器版本,因为目前我只能访问ideone站点.

谢谢你解释!

c++ lambda c++11

8
推荐指数
1
解决办法
3547
查看次数

set_intersection用于两种不同类型的集合

有没有办法在两种不同类型的集合上执行std :: set_intersection?

我有两套:

std::set<X1> l_set1;
std::set<X2> l_set2;
Run Code Online (Sandbox Code Playgroud)

我能够为它们定义一些比较器来检查X1和X2是否相等.

struct sample_comparer
{
    bool operator()(const &X1 p_left, const &X2 p_right)
    {
        return p_left == p_right;
    }
};
Run Code Online (Sandbox Code Playgroud)

现在,我尝试在这两组上进行集合交集:

std::set<X1> l_intersect;
std::set_intersection(l_set1.begin(), l_set1.end(), l_set2.begin(), l_set2.end(),
                      std::inserter(l_intersect, l_intersect.begin()), sample_comparer());
Run Code Online (Sandbox Code Playgroud)

不幸的是,我无法强制使用此代码.我甚至不确定这是否可行,但是从set_intersection 的描述我知道我可以使用两个不同的迭代器.

我试图搜索一些我想要的代码示例,但没有找到任何代码示例?有人可以向我提供我的问题的工作代码示例吗?

更新:错误是:

错误:stl_function.h:227:'__ x <__y'中的'operator <'不匹配

提前致谢!

c++ stl set-intersection

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