哪位能介绍一下C++14, 我顺便就给未来7OR9天长假散粉了

healer_kx 2013-09-22 10:06:45
哪位能介绍一下C++14, 我顺便就给未来 7||9 天长假散粉了

...全文
901 66 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
66 条回复
切换为时间正序
请发表友善的回复…
发表回复
stereoMatching 2013-09-27
  • 打赏
  • 举报
回复
引用 51 楼 FrankHB1989 的回复:
[quote=引用 17 楼 stereoMatching 的回复:] [quote=引用 5 楼 healer_kx 的回复:] C++这是作死的节奏?
刚好相反,c++是越改越简单 新标准其实简化了很多难用的老技术 例如c++11的lambda让stl好用非常多 c++14的polymorphic lambda则强化了c++11的lambda c++11

std::transform(std::begin(a), std::end(a), std::begin(b), [](int a){return a + 50;});
c++14

std::transform(std::begin(a), std::end(a), std::begin(b), [](auto a){return a + 50;});
这一来,以后a的type改变的时候,我们就不用连lambda都一起改了 说穿了,那个auto就是一个template parameter而已 这是一个本来就该有的功能,c++11碍于一些技术障碍没来得及加进去
引用 8 楼 sniffer12345 的回复:
我相当怀疑这样改下去,以后编译器报错的地方到底能不能看懂了。。
这你不用担心,错误讯息只会越来越容易阅读 c++的concepts有了很大的进展,最迟应该在c++17就会引入 以后我们再也不用学习如何解读那犹如密码般难读的错误讯息 不管那一门语言,随着发展标准一定是越来越厚的 时代在变,语言也在进化 就连c也是一直在扩充和改变 你问问看身边的人有谁懂c11多了什么东西? 为何?因为懒惰啊,新东西出来了又要重学 我又重“自以为的专家”降级成新手? 他们可不愿意花这些时间 只好拼命贬低新的发明了[/quote] 其实的确是作死,尽管对普通用户一般可以忽略。 标准和实现维护的成本越来越大,提交新特性考虑的兼容包袱越来越重。很多改变不是一开始就有明确的目的,而是发现了不协调的地方得修补。一个例子:xvalue的引入就是消除类型系统和左值性复杂交互(简化引用类型和左值的关系这点早在1992年就有paper提了)和冗余的失败。 另外,实际上至少标准库的一部分文本还是有很大冗余(就是“复制粘贴”,典型的如Clause 30里的一些requirements全是重复的)的,这部分倒真不一定“越来越厚”。 [/quote] 普通用户可以忽略就行了,编译器的实现什么的是别人的事情 重要的是让一般用户觉得这们语言越来越容易使用 http://www.lextrait.com/vincent/implementations.html 从这里可以看到很多重量级的大型软体还是采用c++ windows的OS甚至有越来越多代码采用c++ 如果linus不是c++黑或c++小白 linux大概也早就跟windows,mac一样混入c++了(linux的codes已经是越来越难维护) gcc受到竞争对手clang的刺激后更是加速向c++迈进 gcc48已经完全改由c++实现
jiandingzhe 2013-09-26
  • 打赏
  • 举报
回复
引用 60 楼 Vegertar 的回复:
从C++0x变成C++1x,C++1y我就已经不企盼了。 芯片越来越快,系统级的C语言仍然不可取代,但应用级的Python, JS with Node,Ruby之流大兴,google chromium带起的web app等,若非数千万行的代码遗留,C++早就玩完了。
那些脚本和HTML做的应用,执行效率太低了。
unituniverse2 2013-09-25
  • 打赏
  • 举报
回复
即使性能不是问题,不管是java还是.net目前仍然都存在耗电问题。 平台性能翻番很多倍,以前的程序用C写的现在用脚本实现,仍然只得到一样的功能和执行速度上的效果。和以前机器直接针对任务进行处理相反,现在机器的大部分工作却都做到了模拟执行上去了
赵4老师 2013-09-25
  • 打赏
  • 举报
回复
语法糖跟蜂蜜一样甜就够了; 要是甜的象糖精,就不太实用了。 再甜的比糖精还甜好几十倍,我看跟毒药也没两样了。
海兰 2013-09-24
  • 打赏
  • 举报
回复
qscool1987 2013-09-24
  • 打赏
  • 举报
回复
大概有一年半没来论坛了,以前总过于追求细节,恨不得把所有细节,甚至是反汇编代码的每一句都搞清楚,花费巨大的时间从标准的第一页开始啃,的确我学到不少知识,可是让我设计系统我还是不行撒。 我就开始反思,我要搞什么呢?做系统设计真的需要将语言的细节搞的那么清楚,算法搞的那么叼么? 在看过系统分析与设计相关书籍后,才明白这和细节实现根本就是不同的概念,原来我的兴趣在于系统分析与设计而不在于方法和实现。 所以领域抽象、对象职责分配才是我该搞的玩意,至于这些所设计到的语言知识也就是C++中关于类的部分而已,想设计的好呢就参阅下设计模式进行重构罢了 C++语言你想学好是非常苦难的,我的书桌上关于C++方面的经典书籍就有十多本,而且每一本都看过好几遍,但是我真没觉得我的C++有多好,原因是它的类容太多了,你学了只是学了而已,你不用马上就忘,工作中你很多用不上,有谁敢说他工作中每天都会用到C++各方面的特性?所以我只保证自己在用的时候能马上理解就可以了,没有必要一直保持时刻都能信手拈来的地步,如果你是那样,我对你表示深深的敬意。 精力有限啊,这辈子做好一件事人就能出名了
tarena_1031 2013-09-24
  • 打赏
  • 举报
回复
看不懂,但是貌似很厉害的样子,
qq120848369 2013-09-24
  • 打赏
  • 举报
回复
引用 59 楼 healer_kx 的回复:
离长假还有日子,你们不打算继续了?
是啊, C++11高手别保留了, 赶紧给大家教点干货, 实在是学不会.
Vegertar 2013-09-24
  • 打赏
  • 举报
回复
从C++0x变成C++1x,C++1y我就已经不企盼了。 芯片越来越快,系统级的C语言仍然不可取代,但应用级的Python, JS with Node,Ruby之流大兴,google chromium带起的web app等,若非数千万行的代码遗留,C++早就玩完了。
healer_kx 2013-09-24
  • 打赏
  • 举报
回复
离长假还有日子,你们不打算继续了?
hankcs 2013-09-23
  • 打赏
  • 举报
回复
说得好,有理有据还有代码干货
这一楼可以加精了
------------------------------------------------------AutoCSDN签名档------------------------------------------------------
码农场——码农播种代码、放牧思想的农场!



引用 17 楼 stereoMatching 的回复:
[quote=引用 5 楼 healer_kx 的回复:]
C++这是作死的节奏?

刚好相反,c++是越改越简单
新标准其实简化了很多难用的老技术
例如c++11的lambda让stl好用非常多
c++14的polymorphic lambda则强化了c++11的lambda

c++11

std::transform(std::begin(a), std::end(a), std::begin(b), [](int a){return a + 50;});


c++14

std::transform(std::begin(a), std::end(a), std::begin(b), [](auto a){return a + 50;});


这一来,以后a的type改变的时候,我们就不用连lambda都一起改了
说穿了,那个auto就是一个template parameter而已
这是一个本来就该有的功能,c++11碍于一些技术障碍没来得及加进去

引用 8 楼 sniffer12345 的回复:
我相当怀疑这样改下去,以后编译器报错的地方到底能不能看懂了。。

这你不用担心,错误讯息只会越来越容易阅读
c++的concepts有了很大的进展,最迟应该在c++17就会引入
以后我们再也不用学习如何解读那犹如密码般难读的错误讯息

不管那一门语言,随着发展标准一定是越来越厚的
时代在变,语言也在进化
就连c也是一直在扩充和改变

你问问看身边的人有谁懂c11多了什么东西?
为何?因为懒惰啊,新东西出来了又要重学
我又重“自以为的专家”降级成新手?
他们可不愿意花这些时间
只好拼命贬低新的发明了[/quote]
ken_scott 2013-09-23
  • 打赏
  • 举报
回复
引用 50 楼 FrankHB1989 的回复:
[quote=引用 48 楼 ken_scott 的回复:] [quote=引用 32 楼 FrankHB1989 的回复:] [quote=引用 10 楼 ken_scott 的回复:] 升级是只是给部分C++使用者使用的 有的公司提倡用BOOST,有的连模板的很少用,程序员的理解的C++知识差距也越来越大...... 再这么下去,我都不敢说自己是C++程序员了 谁能翻译下C++11标准,我网购... (好吧,自己不努力,也只能晒死在沙滩上了)
你拿得到ISO Office的许可再说…… [/quote] 翻译再卖钱也要许可,C++什么时候成为营利性机构了? (就算要获取许可,估计也不难吧)[/quote] 侵权跟是否营利没必然联系(虽然ISO C++显然是卖钱的)。 ISO/IEC C++的著作权所有者很明显:“© ISO/IEC”。 www.iso.org/iso/home/policies.htm‎指出: All ISO publications are also protected by copyright. The copyright ownership of ISO is clearly indication on every ISO publication. Any unauthorized use such as copying, scanning or distribution is prohibited. 这里没提到翻译,不过引用http://www.iso.org/iso/copyright_information_brochure.pdf: Copyright infringement occurs when intellectual property is reproduced, performed, broadcast, translated or adapted without the express permission of the creator or the group/individual licensed to handle the material in question. 下文中购买的授权也不包括翻译权,所以还是得咨询ISO copyright office: Requests should be addressed to the ISO Central Secretariat : ISO copyright office Case postale 56 CH-1211 Geneva 20 Tel. + 41 22 749 01 11 Fax + 41 22 749 09 47 E-mail copyright@iso.org Web www.iso.org (这种政策由来已久:http://www.chinaipmagazine.com/en/journal-show.asp?id=748) 只是几个章节的翻译可以按著作权法的合理使用解释不受限制(就像我引用上面的材料一样),但是全文明显行不通。 JTC1/WG21的paper可能问题小一点,但是working draft看来也没有授权,尽管比起某些FCD/FDIS来说不会有禁止复制的警告。 [/quote] 好吧,只能自己努力了
肩抗轨道炮 2013-09-23
  • 打赏
  • 举报
回复
申祷无 2013-09-23
  • 打赏
  • 举报
回复
引用 38 楼 halleyzhang3 的回复:
其实我希望c++涵盖所有类型的编程语言特性,什么解释性的语言、函数编程都包容进去,但是分成不同的子集,写不同类型的程序用不同的子集,比如公司里做界面的我们允许他用所有的子集、做内核的只允许他用最小子集。这样我们永远不用学习新的语言了:)
Effective C++ 的条款1就是“视C++为一个语言联邦”。
FrankHB1989 2013-09-23
  • 打赏
  • 举报
回复
引用 17 楼 stereoMatching 的回复:
[quote=引用 5 楼 healer_kx 的回复:] C++这是作死的节奏?
刚好相反,c++是越改越简单 新标准其实简化了很多难用的老技术 例如c++11的lambda让stl好用非常多 c++14的polymorphic lambda则强化了c++11的lambda c++11

std::transform(std::begin(a), std::end(a), std::begin(b), [](int a){return a + 50;});
c++14

std::transform(std::begin(a), std::end(a), std::begin(b), [](auto a){return a + 50;});
这一来,以后a的type改变的时候,我们就不用连lambda都一起改了 说穿了,那个auto就是一个template parameter而已 这是一个本来就该有的功能,c++11碍于一些技术障碍没来得及加进去
引用 8 楼 sniffer12345 的回复:
我相当怀疑这样改下去,以后编译器报错的地方到底能不能看懂了。。
这你不用担心,错误讯息只会越来越容易阅读 c++的concepts有了很大的进展,最迟应该在c++17就会引入 以后我们再也不用学习如何解读那犹如密码般难读的错误讯息 不管那一门语言,随着发展标准一定是越来越厚的 时代在变,语言也在进化 就连c也是一直在扩充和改变 你问问看身边的人有谁懂c11多了什么东西? 为何?因为懒惰啊,新东西出来了又要重学 我又重“自以为的专家”降级成新手? 他们可不愿意花这些时间 只好拼命贬低新的发明了[/quote] 其实的确是作死,尽管对普通用户一般可以忽略。 标准和实现维护的成本越来越大,提交新特性考虑的兼容包袱越来越重。很多改变不是一开始就有明确的目的,而是发现了不协调的地方得修补。一个例子:xvalue的引入就是消除类型系统和左值性复杂交互(简化引用类型和左值的关系这点早在1992年就有paper提了)和冗余的失败。 另外,实际上至少标准库的一部分文本还是有很大冗余(就是“复制粘贴”,典型的如Clause 30里的一些requirements全是重复的)的,这部分倒真不一定“越来越厚”。
FrankHB1989 2013-09-23
  • 打赏
  • 举报
回复
引用 48 楼 ken_scott 的回复:
[quote=引用 32 楼 FrankHB1989 的回复:] [quote=引用 10 楼 ken_scott 的回复:] 升级是只是给部分C++使用者使用的 有的公司提倡用BOOST,有的连模板的很少用,程序员的理解的C++知识差距也越来越大...... 再这么下去,我都不敢说自己是C++程序员了 谁能翻译下C++11标准,我网购... (好吧,自己不努力,也只能晒死在沙滩上了)
你拿得到ISO Office的许可再说…… [/quote] 翻译再卖钱也要许可,C++什么时候成为营利性机构了? (就算要获取许可,估计也不难吧)[/quote] 侵权跟是否营利没必然联系(虽然ISO C++显然是卖钱的)。 ISO/IEC C++的著作权所有者很明显:“© ISO/IEC”。 www.iso.org/iso/home/policies.htm‎指出: All ISO publications are also protected by copyright. The copyright ownership of ISO is clearly indication on every ISO publication. Any unauthorized use such as copying, scanning or distribution is prohibited. 这里没提到翻译,不过引用http://www.iso.org/iso/copyright_information_brochure.pdf: Copyright infringement occurs when intellectual property is reproduced, performed, broadcast, translated or adapted without the express permission of the creator or the group/individual licensed to handle the material in question. 下文中购买的授权也不包括翻译权,所以还是得咨询ISO copyright office: Requests should be addressed to the ISO Central Secretariat : ISO copyright office Case postale 56 CH-1211 Geneva 20 Tel. + 41 22 749 01 11 Fax + 41 22 749 09 47 E-mail copyright@iso.org Web www.iso.org (这种政策由来已久:http://www.chinaipmagazine.com/en/journal-show.asp?id=748) 只是几个章节的翻译可以按著作权法的合理使用解释不受限制(就像我引用上面的材料一样),但是全文明显行不通。 JTC1/WG21的paper可能问题小一点,但是working draft看来也没有授权,尽管比起某些FCD/FDIS来说不会有禁止复制的警告。
ken_scott 2013-09-23
  • 打赏
  • 举报
回复
引用 47 楼 jiandingzhe 的回复:
[quote=引用 10 楼 ken_scott 的回复:] 升级是只是给部分C++使用者使用的 有的公司提倡用BOOST,有的连模板的很少用,程序员的理解的C++知识差距也越来越大...... 再这么下去,我都不敢说自己是C++程序员了 谁能翻译下C++11标准,我网购... (好吧,自己不努力,也只能晒死在沙滩上了)
感觉11最大的改进就三点:lambda表达式,右值引用与move语义,扩充的标准库。[/quote] move语意(实现?用法?) 感觉和Effective C++中讲的swap(wrapper?)手法相似...... lambda觉得很好,方便读写代码
ken_scott 2013-09-23
  • 打赏
  • 举报
回复
引用 32 楼 FrankHB1989 的回复:
[quote=引用 10 楼 ken_scott 的回复:] 升级是只是给部分C++使用者使用的 有的公司提倡用BOOST,有的连模板的很少用,程序员的理解的C++知识差距也越来越大...... 再这么下去,我都不敢说自己是C++程序员了 谁能翻译下C++11标准,我网购... (好吧,自己不努力,也只能晒死在沙滩上了)
你拿得到ISO Office的许可再说…… [/quote] 翻译再卖钱也要许可,C++什么时候成为营利性机构了? (就算要获取许可,估计也不难吧)
jiandingzhe 2013-09-23
  • 打赏
  • 举报
回复
引用 10 楼 ken_scott 的回复:
升级是只是给部分C++使用者使用的 有的公司提倡用BOOST,有的连模板的很少用,程序员的理解的C++知识差距也越来越大...... 再这么下去,我都不敢说自己是C++程序员了 谁能翻译下C++11标准,我网购... (好吧,自己不努力,也只能晒死在沙滩上了)
感觉11最大的改进就三点:lambda表达式,右值引用与move语义,扩充的标准库。
清竹小雨 2013-09-23
  • 打赏
  • 举报
回复
来接分的。。。
加载更多回复(46)
DirectX修复工具(DirectX Repair)是一款系统级工具软件,简便易用。本程序为绿色版,无需安装,可直接运行。 本程序的主要功能是检测当前系统的DirectX状态,如果发现异常则进行修复。程序主要针对0xc000007b问题设计,可以完美修复该问题。本程序中包含了最新版的DirectX redist(Jun2010),并且全部DX文件都有Microsoft的数字签名,安全放心。 本程序为了应对一般电脑用户的使用,采用了傻瓜式一键设计,只要点击主界面上的“检测并修复”按钮,程序就会自动完成校验、检测、下载、修复以及注册的全部功能,无需用户的介入,大大降低了使用难度。 本程序适用于多个操作系统,如Windows XP(需先安装.NET 2.0,详情请参阅“致Windows XP用户.txt”文件)、Windows Vista、Windows 7、Windows 8、Windows Blue(Windows 8.1),同时兼容32位操作系统和64位操作系统。本程序会根据系统的不同,自动调整任务模式,无需用户进行设置。 本程序的V3.0版分为标准版、增强版以及在线修复版。其中的标准版以及增强版都包含完整的DirectX组件,增强版中还额外包含了c++ Redistributable Package,因此增强版适合无法自行解决c++相关问题的用户使用;在线修复版的功能与标准版相同,只是其所需的文件将通过Internet下载,因此大大减小了程序的体积。本程序的各个版本之间,主程序完全相同,只是配套使用的数据包不同。因此,当您使用标准版数据包时,程序将进行标准修复;当您使用增强版的数据包时,程序将进行增强修复;当数据包不全或没有数据包(即只有DirectX Repair.exe程序)时,程序将进行在线修复。在线修复、离线修复可自由灵活组合,充分满足不同用户的需要。 本程序自V2.0版起采用全新的底层程序架构,使用了异步多线程编程技术,使得检测、下载、修复单独进行,互不干扰,快速如飞。新程序更改了自我校验方式,因此使用新版本的程序时不会再出现自我校验失败的错误;但并非取消自我校验,因此程序安全性与之前版本相同,并未降低。 程序有自动更新c++功能。由于绝大多数软件运行时需要c++的支持,并且c++的异常也会导致0xc000007b错误,因此程序在检测修复的同时,也会根据需要更新系统中的c++组件。V3.0版本使用了全新的c++扩展包,可以大幅提高工业软件修复成功的概率。此功能仅限于增强版。 程序有两种窗口样式。正常模式即默认样式,适合绝大多数用户使用。另有一种简约模式,此时窗口将只显示最基本的内容,修复会自动进行,修复完成10秒钟后会自动退出。该窗口样式可以使修复工作变得更加简单快速,同时方便其他软件、游戏将本程序内嵌,即可进行无需人工参与的快速修复。开启简约模式的方法是:打开程序所在目录下的“Settings.ini”文件(如果没有可以自己创建),将其中的“FormStyle”一项的值改为“Simple”并保存即可。 程序有高级筛选功能,开启该功能后用户可以自主选择要修复的文件,避免了其他不必要的修复工作。同时,也支持通过文件进行辅助筛选,只要在程序目录下建立“Filter.dat”文件,其中的每一行写一个需要修复文件的序号即可。该功能仅针对高级用户使用,并且必须在正常窗口模式下才有效(简约模式时无效)。 本程序有自动记录日志功能,可以记录每一次检测修复结果,方便在出现问题时,及时分析和查找原因,以便找到解决办法。 程序的“选项”对话框中包含了3项高级功能。点击其中的“注册系统文件夹中所有dll文件”按钮可以自动注册系统文件夹下的所有dll文件。该项功能不仅能修复DirectX的问题,还可以修复系统中很多其他由于dll未注册而产生的问题,颇为实用。点击该按钮旁边的小箭头,还可以注册任意指定文件夹下的dll文件,方便用户对绿色版、硬盘版的程序组件进行注册。点击第二个按钮可以为dll文件的右键菜单添加“注册”和“卸载”项,方便对单独的dll文件进行注册。请注意,并不是所有的dll文件都可以通过这种方式注册。 新版程序集成了用户反馈程序,可以在用户允许的前提下发送检测修复结果。用户也可以在出现问题时通过反馈程序和软件作者进行交流,共同查找问题。反馈是完全自愿和匿名(如果不填写E-mail地址)的。 本程序的通用版基于Microsoft .NET Framework 2.0开发,对于Windows 2000、Windows XP、Windows 2003的用户需要首先安装.NET Framework 2.0或更高版本方可运行本程序。有关下载和安装的详细信息请参阅“致Windows XP用户.txt”文件。对于Windows Vista、Windows 7用户,可以直接运行本程序。 同时鉴于Windows 8(Windows Blue、Windows 8.1)系统中默认未包含.NET Framework 2.0,因此新版的程序文件夹内将包含一个DirectX_Repair_win8的特别版程序,该程序功能与通用版相同,基于.NET Framework 4.0开发,可以在Windows8(Windows Blue、Windows 8.1)系统中直接运行(其他系统如果安装了.NET Framework 4.0也可以运行这个特别版的程序)。 本程序的官方博客地址为:http://blog.csdn.net/vbcom/article/details/6962388所有的更新以及技术支持都可以到该博客上找到。

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧