位置: IT常识 - 正文

现代 C++ 编程指南(现代c++教程)

编辑:rootadmin
现代 C++ 编程指南现代 C++ 编程指南 Visual Studio 2012 此主题尚未评级 - 评价此主题 现代 C++ 编程指南 Visual Studio 2012

推荐整理分享现代 C++ 编程指南(现代c++教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:现代c++ pdf,现代c:概念剖析和编程实践,c++编程代码教程,现代c++实战30讲,c++编程代码教程,现代c++程序设计,现代c++实战30讲,现代c++实战30讲,内容如对您有帮助,希望把文章链接给更多的朋友!

此主题尚未评级 - 评价此主题

[本文档仅供预览,在以后的发行版中可能会发生更改。包含的空白主题用作占位符。]

C + + 是世界上最广泛使用的编程语言之一。 快速、 高效地编写得很好的 c + + 程序。 语言是比其他语言更灵活,因为您可以使用它来创建各种类型的应用程序,从有趣和令人兴奋的游戏,高性能的科学记数法软件,设备驱动程序、 嵌入的程序和 Windows 客户端应用程序。 20 年以上,c + + 来解决问题 (如这些和其他许多人使用。 您可能不知道是越来越多的 c + + 程序员有 dowdy 的 C 样式编程,昨天的扭曲,和现代的 c + + donned 相反。

C + + 的原始要求之一是与 C 语言的向后兼容性。 从那时起,c + + 的发展壮大几个小版本 — — C 类,则原始的 c + + 语言规范,和然后后续的许多增强。 由于的这种继承性,c + + 通常称为多范例的编程语言。 在 c + + 中,可以执行纯粹的过程涉及原始指针、 数组、 空值终止的字符串、 自定义数据结构,以及其他功能,可能会使卓越的性能,但还可以生成的错误和复杂性的 C 样式编程。 C 样式编程是充满 perils 类似,因为 c + + 的成立目标之一是类型安全的编写、 扩展,和维护更容易地程序。 在早期,c + + 采纳如面向对象编程的编程范例。 多年来,一起高测试的算法和数据结构的标准库的语言,以添加功能。 它是这些添加的内容进行现代的 c + + 样式可能的。

现代的 c + + 强调:

基于堆栈的范围而不是堆集或静态全局作用域。

而不是显式的类型名称的自动类型推断。

而不是原始的指针的聪明指针。

std::string 和std::wstring种而不是原始char[]数组。

标准模板库 (STL) 容器 (如vector, list,和map而不是原始数组或自定义容器。

代替手动编码的 STL 算法。

例外情况,报告和句柄的错误情况。

内联 lambda 函数的小型单独实现的函数而不是。

C + + 语言本身也已得到发展。 将下面的代码段进行比较。 此演示了如何使用 c + + 中是件事:

C++复制circle* p = new circle( 42 );vector<shape*> v = load_shapes();for( vector<circle*>::iterator i = v.begin(); i != v.end(); ++i ) { if( *i && **i == *p ) cout << **i << “ is a match\n”;}for( vector<circle*>::iterator i = v.begin(); i != v.end(); ++i ) { delete *i; // not exception safe}delete p;现代 C++ 编程指南(现代c++教程)

以下是现代的 c + + 中如何来完成相同的操作:

C++复制auto p = make_shared<circle>( 42 );vector<shared_ptr<shape>> v = load_shapes();for_each( begin(v), end(v), [&]( const shared_ptr<shape>& s ) { if( s && *s == *p ) cout << *s << " is a match\n";} );

现代的 c + + 中,不必使用新的或删除或显式的异常处理,因为您可以使用智能指针来代替。 当您使用auto类型推导和 lambda 函数,您可以编写代码更快、 拧紧,和更好地理解它。 和for_each更清晰、 更容易使用,且比非有意的错误for循环。 可以使用与最少的代码行的样板文件写入您的应用程序。 和您可以使该代码安全异常的内存安全的并处理未配置/解除分配或错误代码。

现代的 c + + 合并了两种类型的多态性: 编译时,通过模板,并运行时,通过继承和虚拟化。 您可以混合使用这两种多态性很好的效果。 STL 模板shared_ptr使用内部的虚拟方法来完成其显然轻松类型擦除。 但不 over-use 的多态性的虚拟化时,模板是更好的选择。 模板可以是功能非常强大。

如果来自另一种语言,特别是从托管语言的大多数类型是引用类型,并且很少是值类型,c + + 知道 c + + 类是值类型,默认情况下。 但是,您可以将它们指定为引用类型,以便支持面向对象编程的多态行为。 很有帮助的角度来看: 值类型是有关内存和布局控制,引用类型的详细信息是有关基类和为支持多态性的虚函数的详细信息。 默认情况下,值类型是此 — — 它们具有复制构造函数和复制赋值运算符。 当您指定为引用类型时,则使类非此 — 禁用复制构造函数和复制赋值运算符 — 并使用虚拟析构函数,它支持多态性。 值类型也是关于内容的复制,使您可以单独修改的两个独立的值。 有关标识引用类型,但是 — 是什么类型的对象 — — 并因此有时称为多态类型。

C + + 因为电源是上帝再次出现 renaissance。 语言 (如 Java 和 C# 程序员的效率很重要,但电源和性能都是极其重要时显示它们的局限性很大。 高效率和电源,尤其是在具有有限硬件的硬件上执行任何操作节拍现代的 c + +。

不仅是现代的语言,开发工具,也是。 Visual Studio可以在开发周期的所有部分强健高效。 它包括应用程序生命周期管理 (ALM) 工具、 IDE 功能增强,如 IntelliSense、 适合的工具的机制,如 XAML 和构建、 调试,以及许多其他工具。

本文档的这一部分中的文章提供了高级的准则和最佳做法的最重要的功能和编写现代的 c + + 程序的技术。

C++11 函数 (现代 C++)

C++ 类型系统 (现代 C++ 编程指南)

对象生存期和资源管理 (现代 C++)

Objects Own Resources (RAII)

智能指针 (现代 C++ 编程指南)

编译时封装 (现代 C++) Pimpl

Containers (Modern C++)

Algorithms (Modern C++)

字符串和文本 (现代 C++)

字符串和 I/O 格式设置 (现代 C++)

错误和异常处理 (现代 C++ 编程指南)

Portability At ABI Boundaries (Modern C++)

本文链接地址:https://www.jiuchutong.com/zhishi/304074.html 转载请保留说明!

上一篇:MVC架构-01(MVC架构模式)

下一篇:phpcms v9错误日志记录在哪里(错误日志怎么修复)

  • 微信零钱怎么转入零钱通(微信零钱怎么转到零钱通里去)

    微信零钱怎么转入零钱通(微信零钱怎么转到零钱通里去)

  • 荣耀magic4可以升级鸿蒙系统吗(荣耀magic4可以升级magicos)

    荣耀magic4可以升级鸿蒙系统吗(荣耀magic4可以升级magicos)

  • qq个人主页超级qq秀怎么关(qq个人主页是什么样的)

    qq个人主页超级qq秀怎么关(qq个人主页是什么样的)

  • 支付宝无法识别二维码(支付宝无法识别二维码截图)

    支付宝无法识别二维码(支付宝无法识别二维码截图)

  • 抖音老照片修复在哪里(抖音老照片修复特效在哪里)

    抖音老照片修复在哪里(抖音老照片修复特效在哪里)

  • power bi是免费的吗(微软powerbi免费吗)

    power bi是免费的吗(微软powerbi免费吗)

  • 键盘3个键按键冲突(怎么解决键盘三个按键冲突)

    键盘3个键按键冲突(怎么解决键盘三个按键冲突)

  • 荣耀30pro出厂有贴膜吗(荣耀30pro手机出厂有贴膜吗)

    荣耀30pro出厂有贴膜吗(荣耀30pro手机出厂有贴膜吗)

  • 电脑可以下载钉钉上课吗(电脑可以下载钉钉软件吗)

    电脑可以下载钉钉上课吗(电脑可以下载钉钉软件吗)

  • cdy-an90是什么型号(cda-an90)

    cdy-an90是什么型号(cda-an90)

  • 平滑处理fxaa开不开(平滑处理fxaa有什么用)

    平滑处理fxaa开不开(平滑处理fxaa有什么用)

  • 苹果十一的关机键在哪(苹果十一怎么关机)

    苹果十一的关机键在哪(苹果十一怎么关机)

  • ipad有没有手电筒(ipad上有没有手电筒)

    ipad有没有手电筒(ipad上有没有手电筒)

  • 美版a1533支持什么网络(a1633美版)

    美版a1533支持什么网络(a1633美版)

  • 滴滴企业版和个人版区别(滴滴企业版和个人版)

    滴滴企业版和个人版区别(滴滴企业版和个人版)

  • ps怎么去水印无痕迹(ps怎么去水印无痕迹快捷键)

    ps怎么去水印无痕迹(ps怎么去水印无痕迹快捷键)

  • 华为mate30送手机壳吗(华为mate30送的手机壳怎么样)

    华为mate30送手机壳吗(华为mate30送的手机壳怎么样)

  • 淘宝店小二介入有用吗(淘宝店小二介入直接关闭退款)

    淘宝店小二介入有用吗(淘宝店小二介入直接关闭退款)

  • 安卓手机qq音乐怎么改密码(安卓手机qq音乐锁屏显示)

    安卓手机qq音乐怎么改密码(安卓手机qq音乐锁屏显示)

  • 华为手机日历在哪里设置(华为手机日历在桌面显示)

    华为手机日历在哪里设置(华为手机日历在桌面显示)

  • vivox20的安全中心在哪里(vivo手机的安全设置中心在哪)

    vivox20的安全中心在哪里(vivo手机的安全设置中心在哪)

  • 骑共享单车需要注意哪些(骑共享单车需要下载什么软件)

    骑共享单车需要注意哪些(骑共享单车需要下载什么软件)

  • 打对方电话没反应就显示通话结束(打对方电话没反应没有提示音是什么原因)

    打对方电话没反应就显示通话结束(打对方电话没反应没有提示音是什么原因)

  • Vue3全家桶入门 (通过vue-cli脚手架搭建todolist项目环境,深入vue3.0核心知识)(vue全家桶插件有哪些)

    Vue3全家桶入门 (通过vue-cli脚手架搭建todolist项目环境,深入vue3.0核心知识)(vue全家桶插件有哪些)

  • echarts中的legend属性(echarts中的legend能被监听吗)

    echarts中的legend属性(echarts中的legend能被监听吗)

  • webpack调优技巧(webpack怎么优化)

    webpack调优技巧(webpack怎么优化)

  • 转让金融商品需要缴纳增值税吗
  • 预计销售收入增长是什么意思
  • 会计核算原则主要包括
  • 预缴税款缴多了怎么办
  • 小规模购买金税盘
  • 充值费用优惠怎么取消
  • 预缴增值税为什么记借方
  • 福利费不交个人所得税会怎么样
  • 个体户需不需要开立对公账户
  • 开水电发票要增加什么经营项目?
  • 管理服务费入什么科目
  • 咨询费收入交什么税种
  • 减免税额结转到待认证是什么意思
  • 企业收入为免税收入的是
  • 捐赠货品怎么做会计分录
  • 水费能不能开专票
  • 小规模增值税附加税
  • 核销单取消后出口收汇流程
  • U盘复制文件提示文件过大
  • 溢价发行股票的相关交易费用冲减资本公积
  • phppost带cookie提交
  • php实现文件上传需要使用哪个全局变量
  • 筹建期间的费用计入长期待摊费用吗
  • 企业资本结构决策需要重点考虑的有
  • 水利建设基金计税依据
  • 不需要支付的应付款情况说明
  • android界面源码
  • vue route 参数
  • Vue3通透教程【十二】TS类型声明优势
  • 代销手续费怎么开票
  • word element
  • 小规模能取得专用发票吗
  • mysql5.7.33压缩包安装教程
  • mysql的查询缓存与redis的区别
  • 弥补亏损的会计分录是怎样的
  • 季度所得税收入多报,年度可以调整吗
  • 代收电费的增值税怎么算
  • 应交税费需要结转到本年利润吗
  • 工会账以固定资产投资
  • 个人所得税汇算清缴
  • 影响企业营业利润的有哪些
  • 如何结转完工入库的产品成本
  • 小规模减免的附加税怎么做账
  • 贴现法付息实际利率
  • 员工报销固定资产怎么算
  • 用盈余公积弥补亏损的会计分录是
  • 已入库的原材料会计分录
  • 房屋租赁合同印花税的税率
  • 固定资产的原价减去预计净残值后的余额
  • 工会经费返还属于什么收入
  • 餐饮行业招聘方案
  • 航天信息服务费280元如何申报
  • sql server创建架构
  • mysql存储过程是什么意思
  • XP系统如何设置变流畅
  • ubuntu x
  • solaris 11.4
  • iso镜像怎么装
  • win10如何查看系统日志
  • windows7播放器无法打开
  • 如何调整输入法框的大小
  • linux更新配置
  • win10 edge浏览器崩溃
  • js获取url的html
  • nodejs实战教程
  • android studio 新建项目只有.idea文件
  • perl sub
  • nodejs mock
  • firefox怎样调整为中文
  • html框架frameset代码
  • 在node.js中想要监听事件
  • js菜鸟编程
  • javascript零基础入门
  • 使用struts2+Ajax+jquery验证用户名是否已被注册
  • js事件循环过程
  • 别踩白块世界纪录视频
  • 税务举报可以撤销么?
  • 税控盘异常什么原因
  • 税务局的前身是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设