我想你也许好奇为什么我要在介绍C++的文章中写这么多 Haskell 的内容(这些内容还颇具挑战性),那是因为两个原因:
你可以知道 C++ 中相应算法的历史
比照 Haskell 的对应方法可以帮助我们理解...std::endl;
std::vector strVec{ "Only", "for", "testing", "purpose" }; // 7...<< std::endl;
return 0;
}
与 Haskell 中的示例对应,我使用 std::vector 创建了整数列表 (1) 和字符串列表 (7)....(例如std::reduce),这种情况下,这些算法会默认使用二元加法运算.为了能够以并行或者矢量并行的方式运行这些算法,指定给算法的二元运算必须满足可结合性,这个限制也很容易理解,因为并行化的算法很容易会在多个...CPU核上同时运行(这种情况下,二元运算不可结合的话就会导致错误结果).更深入的一些信息你可以看看这里和这里.