IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

C++11 中值得关注的几大变化(详解)

酷壳 - CoolShell.cn 2011-08-19 23:00:52 累计浏览 3,575 次
本机暂存
V>
//are all of the elements positive?
all_of(first, first+n, ispositive()); //false
//is there at least one positive element?
any_of(first, first+n, ispositive());//true
// are none of the elements positive?
none_of(first, first+n, ispositive()); //false

使用新的copy_n()算法,你可以很方便地拷贝数组。

1
2
3
4
5
#include <algorithm>
int source[5]={0,12,34,50,80};
int target[5];
//copy 5 elements from source to target
copy_n(source,5,target);

使用 iota() 可以用来创建递增的数列。如下例所示:

1
2
3
4
5
include <numeric>
int a[5]={0};
char c[3]={0};
iota(a, a+5, 10); //changes a to {10,11,12,13,14}
iota(c, c+3, 'a'); //{'a','b','c'}

总之,看下来,C++11 还是很学院派,很多实用的东西还是没有,比如: XML,sockets,reflection,当然还有垃圾回收。看来要等到C++ 20了。呵呵。不过C++ 11在性能上还是很快。参看 Google’s benchmark tests。原文还引用Stroustrup 的观点:C++11 是一门新的语言――一个更好的 C++。

如果把所有的改变都列出来,你会发现真多啊。我估计C++ Primer那本书的厚度要增加至少30%以上。C++的门槛会不会越来越高了呢?我不知道,但我个人觉得这门语言的确是变得越来越令人望而却步了。(想起了某人和我说的一句话――学技术真的是太累了,还是搞方法论好混些?)

(全文完)

同分类推荐文章

  1. 等了十年的 Go 链式管道,终于来了:seq 让你像写 Scala 一样写 Go (2026-06-25 18:38:18)
  2. Go 实验特性详解 (2026-06-21 10:05:27)
  3. amd64 微架构级别对 Go 程序性能提升多少? (2026-06-21 09:38:49)

查看更多 后端 文章 →

建议继续学习

  1. 如何成为Python高手 (累计阅读 54,992)
  2. 为什么Lisp语言如此先进?(译文) (累计阅读 6,506)
  3. 函数式编程很难,这正是你要学习它的原因 (累计阅读 5,419)
  4. Underscore.js-精巧而强大实用功能库 (累计阅读 5,198)
  5. 使用array_reduce降维 (累计阅读 5,152)
  6. stream.js :一个新的JavaScript数据结构 (累计阅读 5,017)
  7. JavaScript的5种调用函数的方法 (累计阅读 4,557)
  8. 看来看去都是看数学书 (累计阅读 4,139)
  9. 为什么我喜欢Lisp语言 (累计阅读 4,042)
  10. 闭包漫谈(从抽象代数及函数式编程角度) (累计阅读 3,852)