1
ncisoft 2015-12-26 11:44:44 +08:00 via Android 1
这有什么特异之处?
|
2
choury 2015-12-26 11:46:30 +08:00 1
这是 c++11 的特性,现在都快 2016 年啦
|
3
andong777 2015-12-26 11:50:05 +08:00
我还以为发现了什么激动人心的特性……
|
4
htfy96 2015-12-26 11:51:11 +08:00 1
C++11 特性,还有人提过提案可以这么写:
for (kp : vec) cout << kp << endl; 不过被否了 |
5
northisland OP @ncisoft 我的意思是,帖子里的 c++ for 循环,很像 python 中 for 循环调用迭代器或者生成器的用法。
我印象中 c++里 for 循环只有这个语法 for( ; ; ) |
6
ncisoft 2015-12-26 11:55:03 +08:00 via Android
@northisland 楼上不是有人说了 c++11 特性了么
|
7
htfy96 2015-12-26 11:57:04 +08:00
|
8
k9982874 2015-12-26 11:58:05 +08:00
c++ 11 的特性, boost 里很早就有了 foreach 实现。和 php 或 python 中的 foreach 用法一样,简化循环访问容器。
|
9
acros 2015-12-26 11:59:26 +08:00
c11 里面都写滥了··· 楼主你找个近年的新开源项目看看,很多新用法的。
|
10
Monad 2015-12-26 13:02:57 +08:00
##Range-based for loop## http://en.cppreference.com/w/cpp/language/range-for
|
11
xufang 2015-12-26 13:10:08 +08:00
c++ 奇技淫巧实在举不胜举。
相比之下 c 语言就有友好很多,目前为止我就看到一个达夫设备这个 C 语言技巧是属于这类的。 |
13
cutepig49 2015-12-26 16:48:51 +08:00
c++没 package ,其他地方再进化也还是用得不开心……
|
14
lsmgeb89 2015-12-26 18:08:06 +08:00 1
C++17 是下个版本,现在 C++ 演变速度快了。
|
15
tennix 2015-12-26 18:37:00 +08:00
从这篇博客 http://gladdy.github.io/c++/2015/07/26/NodeDemystified-pt1.html 里摘一段 C++ 与 NodeJS 的对比,不知现在 V 站评论对 markdown code block 支持怎么样了,显示不好大家支看原文吧。初看一眼,卧槽, C++ 都快进化到跟人人都会写的 JS 长得一样了
```c++ TCPServer server ([&](Socket &socket) { console.log("Client connected"); console.log("address: " + socket.remoteAddress()); console.log("port: " + socket.remotePort()); socket.on("data", [&, socket](Data data) mutable { //Handle the received data }); socket.on("end", [&, socket](){ //Handle the client disconnect }); }); server.listen(1338); ``` ```javascript var server = net.createServer(function(socket){ console.log("Client connected"); console.log("address: " + socket.remoteAddress); console.log("port: " + socket.remotePort); socket.on("data", function(data){ //Handle client message }); socket.on("end", function(){ //Handle client abort }); }); server.listen(1338) ``` |
16
wizardforcel 2015-12-26 20:29:01 +08:00 via Android
以前做 lab 的时候 我还总喜欢加上 -std=c++11
没有 range for 和 auto 的 c++ 简直是用不惯啊 |
17
k9982874 2015-12-26 20:45:07 +08:00 via iPhone
@cutepig49 c++有 namespace 不知道你要的 package 是什么需求 namespace 提供不了的
|
18
abcdabcd987 2015-12-26 20:57:39 +08:00
(歪楼向
C++ 的奇技淫巧真的很多的,不知道楼主知不知道有个“趋向于”操作符 int x = 10; while (x --> 0) { printf("%d ", x); } 这样会输出 9 8 7 6 5 4 3 2 1 0 就可以用 while 实现 for 的效果! |
19
Madeline 2015-12-26 22:23:59 +08:00
|
22
ThomasZ 2015-12-27 00:02:11 +08:00 via iPhone
抛弃谭浩强吧,都 16 年了, C++11 标准了都
|
23
cutepig49 2015-12-27 16:59:00 +08:00
@k9982874 我需要它可以像 rust 那样写好 toml 就能直接下载配置好所有依赖的 package …………
|
24
northisland OP @cutepig49 不懂 rust 。
但我知道没有 package 属于 C++的历史包袱。二十年前机器上装一个 20MB 的 LAPACK ,就很了不起了。所有项目工程都调这个库。 不像现在,一个 numpy 里,自己带好几个自个儿封装的 LAPACK 库供 package 接口用。 直接跨平台下载配置 C 工程的所有依赖关系, CMAKE 照样能胜任,可惜有真功夫能玩动这一套的程序员已经不多了。 |