积分充值
 首页
前端开发
AngularDartElectronFlutterHTML/CSSJavaScriptReactSvelteTypeScriptVue.js构建工具
后端开发
.NetC#C++C语言DenoffmpegGoIdrisJavaJuliaKotlinLeanMakefilenimNode.jsPascalPHPPythonRISC-VRubyRustSwiftUML其它语言区块链开发测试微服务敏捷开发架构设计汇编语言
数据库
Apache DorisApache HBaseCassandraClickHouseFirebirdGreenplumMongoDBMySQLPieCloudDBPostgreSQLRedisSQLSQLiteTiDBVitess数据库中间件数据库工具数据库设计
系统运维
AndroidDevOpshttpdJenkinsLinuxPrometheusTraefikZabbix存储网络与安全
云计算&大数据
Apache APISIXApache FlinkApache KarafApache KyuubiApache OzonedaprDockerHadoopHarborIstioKubernetesOpenShiftPandasrancherRocketMQServerlessService MeshVirtualBoxVMWare云原生CNCF机器学习边缘计算
综合其他
BlenderGIMPKiCadKritaWeblate产品与服务人工智能亿图数据可视化版本控制笔试面试
文库资料
前端
AngularAnt DesignBabelBootstrapChart.jsCSS3EchartsElectronHighchartsHTML/CSSHTML5JavaScriptJerryScriptJestReactSassTypeScriptVue前端工具小程序
后端
.NETApacheC/C++C#CMakeCrystalDartDenoDjangoDubboErlangFastifyFlaskGinGoGoFrameGuzzleIrisJavaJuliaLispLLVMLuaMatplotlibMicronautnimNode.jsPerlPHPPythonQtRPCRubyRustR语言ScalaShellVlangwasmYewZephirZig算法
移动端
AndroidAPP工具FlutterFramework7HarmonyHippyIoniciOSkotlinNativeObject-CPWAReactSwiftuni-appWeex
数据库
ApacheArangoDBCassandraClickHouseCouchDBCrateDBDB2DocumentDBDorisDragonflyDBEdgeDBetcdFirebirdGaussDBGraphGreenPlumHStreamDBHugeGraphimmudbIndexedDBInfluxDBIoTDBKey-ValueKitDBLevelDBM3DBMatrixOneMilvusMongoDBMySQLNavicatNebulaNewSQLNoSQLOceanBaseOpenTSDBOracleOrientDBPostgreSQLPrestoDBQuestDBRedisRocksDBSequoiaDBServerSkytableSQLSQLiteTiDBTiKVTimescaleDBYugabyteDB关系型数据库数据库数据库ORM数据库中间件数据库工具时序数据库
云计算&大数据
ActiveMQAerakiAgentAlluxioAntreaApacheApache APISIXAPISIXBFEBitBookKeeperChaosChoerodonCiliumCloudStackConsulDaprDataEaseDC/OSDockerDrillDruidElasticJobElasticSearchEnvoyErdaFlinkFluentGrafanaHadoopHarborHelmHudiInLongKafkaKnativeKongKubeCubeKubeEdgeKubeflowKubeOperatorKubernetesKubeSphereKubeVelaKumaKylinLibcloudLinkerdLonghornMeiliSearchMeshNacosNATSOKDOpenOpenEBSOpenKruiseOpenPitrixOpenSearchOpenStackOpenTracingOzonePaddlePaddlePolicyPulsarPyTorchRainbondRancherRediSearchScikit-learnServerlessShardingSphereShenYuSparkStormSupersetXuperChainZadig云原生CNCF人工智能区块链数据挖掘机器学习深度学习算法工程边缘计算
UI&美工&设计
BlenderKritaSketchUI设计
网络&系统&运维
AnsibleApacheAWKCeleryCephCI/CDCurveDevOpsGoCDHAProxyIstioJenkinsJumpServerLinuxMacNginxOpenRestyPrometheusServertraefikTrafficUnixWindowsZabbixZipkin安全防护系统内核网络运维监控
综合其它
文章资讯
 上传文档  发布文章  登录账户
IT文库
  • 综合
  • 文档
  • 文章

无数据

分类

全部后端开发(28)C++(28)

语言

全部中文(简体)(28)

格式

全部PPT文档 PPT(18)PDF文档 PDF(10)
 
本次搜索耗时 0.095 秒,为您找到相关结果约 28 个.
  • 全部
  • 后端开发
  • C++
  • 全部
  • 中文(简体)
  • 全部
  • PPT文档 PPT
  • PDF文档 PDF
  • 默认排序
  • 最新排序
  • 页数排序
  • 大小排序
  • 全部时间
  • 最近一天
  • 最近一周
  • 最近一个月
  • 最近三个月
  • 最近半年
  • 最近一年
  • ppt文档 C++高性能并行编程与优化 - 课件 - 02 现代 C++ 入门:RAII 内存管理

    :离不开构造函数 • 如题,那么如何定义构造函数呢? BV1h64y197Fd 自定义构造函数:无参数 自定义构造函数:无参数(使用初始化表达式) 为什么需要初始化表达式? 1. 假如类成员为 const 和引用 2. 假如类成员没有无参构造函数 3. 避免重复初始化,更高效 自定义构造函数:多个参数 自定义构造函数:单个参数 自定义构造函数:单个参数(陷阱) 自定义构造函数:单个参数(避免陷阱) static_cast(ptr) 的错误 。 • 虽然作者也经常会忍不住在 zeno 中用 编译器默认生成的构造函数:无参数(小心 POD 陷阱!) • 除了我们自定义的构造函数外,编译器还会自动生成一些构造函数。 • 当一个类没有定义任何构造函数,且所有成员都有无参构造函数时,编译器会自动生成一 个无参构造函数 Pig() ,他会调用每个成员的无参构造函数。 • 但是请注意,这些类型不会被初始化为 m_weight 已默 认初始化为 0 ! 编译器默认生成的构造函数:无参数(类成员初始化很方便) • 类成员的 {} 中还可以有多个参数,甚至能用 = 。 • 除了不能用 () 之外,和函数局部变量的定义方式 基本等价。 • 顺便一提: • int x{}; • void *p{}; • 与 • int x{0}; • void *p{nullptr}; • 等价,都会零初始化。但是你不写那个空括号就会
    0 码力 | 96 页 | 16.28 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 03 现代 C++ 进阶:模板元编程

    ,其中 multiply(int) 作为虚函数。然后定义: Numeric *twice(Numeric *t) { return t->multiply(2); } 且不说这样的性能问题,你忍得住寂寞去重复定义好 几个,然后每个运算符都要声明一个纯虚函数吗? 而且, Float 的乘法应该是 multiply(float) ,你也去 定义好几个重载吗?定义为 multiply(Numeric *) 的话 的话 依然会违背你们的开 - 闭原则:比如 3.14f * 3 ,两 端是不同的类型,怎么处理所有可能类型的排列组合 ? 不如放弃类和方法的概念,欣然接受全局函数和重载 。 模板函数:定义 • 使用 template • 其中 T 可以变成任意类型。 • 调用时 twice 即可将 T 替换为 int 。 • 注意有的教材上写做: • template • 来声明一个整数 N 作为模板参数。 • 不过模板参数只支持整数类型(包括 enum )。 • 浮点类型、指针类型,不能声明为模板参数。自 定义类型也不可以,比如: • template // 错误! 模板参数:多个模板参数 • int N 和 class T 可以一起使用。 • 你只需要指定其中一部分参数即可,会自
    0 码力 | 82 页 | 12.15 MB | 1 年前
    3
  • pdf文档 现代C++ 教程:高速上手C++11/14/17/20

    78 原始字符串字面量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 自定义字面量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 9.4 内存对齐 当我们声明、定义一个变量或者常量,对代码进行流程控制、面向对象的功能、模板编程等这些都 是运行时之前,可能发生在编写代码或编译器编译代码时的行为。为此,我们通常谈及语言可用性,是 指那些发生在运行时之前的语言行为。 2.1 常量 nullptr nullptr 出现的目的是为了替代 NULL。在某种意义上来说,传统 C++ 会把 NULL、0 视为同一种东 西,这取决于编译器如何定义 NULL,有些编译器会将 NULL,有些编译器会将 NULL 定义为 ((void*)0),有些则会直接将其定义 为 0。 C++ 不允许直接将 void * 隐式转换到其他类型。但如果编译器尝试把 NULL 定义为 ((void*)0), 那么在下面这句代码中: char *ch = NULL; 没有了 void * 隐式转换的 C++ 只好将 NULL 定义为 0。而这依然会产生新的问题,将 NULL 定义 成 0 将导致 C++
    0 码力 | 83 页 | 2.42 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 15 C++ 系列课:字符与字符串

    函子 functor 与 lambda 表达式知多少 6. 通过实战案例来学习 STL 算法库 7. C++ 标准输入输出流 & 字符串格式化 8. traits 技术,用户自定义迭代器与算法 9. allocator ,内存管理与对象生命周期 ASCII 码 第 1 章 计算机如何表达字符 https://zh.wikipedia.org/wiki/ASCII 计算机如何表达字符 运算符) • C 语言规定,双引号包裹的字符串是 const char * 类型的,他们没有 + 运算 符。 • C++ 为了向前兼容,没办法改变 C 语言的这项规定,只能退而求其次,他另 外定义了一个 string 类,重载了 + 运算符,并告诉同学们:以后尽量用我这 个封装好的类,不要直接用 C 语言的 const char * 。 • 因此如果需要把两个字符串加在一起,就必须至少有一方是 // 正确 • string(“hello”) + string(“world”) // 正确(推荐) 字符串的连接( + 运算符) • 错误: • 正确: C++14 新特性:自定义字面量后缀 • 不少同学就觉得这样好麻烦,其他语言都是直接 “ hello” 就是字符串类 型, C++ 还得套一层壳 string(“hello”) 才能变成安全封装的类型,才能用他 的成员函数。
    0 码力 | 162 页 | 40.20 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - Zeno 中的现代 C++ 最佳实践

    (这是游戏引擎中很常见的用法)。 正确解法:额外定义一个 clone 作为纯虚函数,然后让猫和狗分别实现他 clone 的调用 • 这样一来,我们通用的 eatTwice 函数里 只需调用 obj->clone() ,就等价于调用了 相应的猫或是狗的 make_shared(*obj) ,这就实现了拷 贝的多态。 如何批量定义 clone 函数? • 可以定义一个宏 IOBJECT_DEFINE_CLONE 字是全局可见的,不符合 C++ 的高大尚封装思 想。 • 宏: IOBJECT_DEFINE_CLONE • 高大尚 C++ 封装: zeno::IObject::clone() 如何批量定义 clone 函数? • 另一种方法是定义一个 IObjectClone 模板 类。其模板参数是他的派生类 Derived 。 • 然后在这个 IObjectClone 里实现 clone 即可。那为什么需要派生类作为模板参数 • 1. 虚函数是运行时确定的,有一定的性能损失。 • 2. 拷贝构造函数无法作为虚函数。 • 这就构成了 CRTP 的两大常见用法: • 1. 更高性能地实现多态。 • 2. 伺候一些无法定义为虚函数的函数,比如拷贝构造,拷贝赋值等。 • https://www.jianshu.com/p/ec8a01cba496 CRTP 的一个注意点:如果派生类是模板类 • 如果派生类 Derived
    0 码力 | 54 页 | 3.94 MB | 1 年前
    3
  • pdf文档 《深入浅出MFC》2/e

    第四篇【深入MFC 程序设计】介绍各式各样MFC 技术。「只知其然不知其所以然」 的不良副作用,在程序设计的企图进一步开展之后,愈来愈严重,最终会行不得也!那 些最困扰我们的MFC 宏、MFC 常数定义,不得一窥堂奥的MFC 黑箱操作,在本 篇陆续曝光。本篇将使您高喊:Eureka! 阿基米德在洗澡时发现浮力原理,高兴得来不及穿上裤子,跑到街上大喊:Eureka(我 找到了)。 范例程序方面,第三章有数个Console MFC 30 硬件方面,只要能跑上述两种操作系统就算过关。内存(RAM)是影响运作速度的主 因,多多益善。厂商宣称16MB RAM 是一个能够使你工作舒适的数字,但我因此怀疑 「舒适」这个字眼的定义。写作本书时我的软硬件环境是: ■ Pentium 133 ■ 96M RAM ■ 2GB 硬盘 ■ 17 寸显示器。别以为显示器和程序设计没有关系。大尺寸屏幕使我们一次看多 一点东西,不必在Visual lpszClassName = _szAppName; #0060 程序名称 窗口标题 程序进入点 避免编译时的警告 传回 PostQuitMessage 的参数 注册窗口类别 窗口函数 窗口背景颜色 所定义的菜单 12 #0061 return (RegisterClass(&wc)); #0062 } #0063 //----------------------------------
    0 码力 | 1009 页 | 11.08 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.0.0b4 C++版

    推算方 法、常见类型、示例等。 ‧ 数据结构:基本数据类型,数据结构的分类方法。数组、链表、栈、队列、散列表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤、 示例题目等。 0. 前言 hello‑algo.com 2 Figure 0‑1. Hello 算法内容结构 堂。 1.2. 算法是什么 1.2.1. 算法定义 「算法 Algorithm」是在有限时间内解决特定问题的一组指令或操作步骤。算法具有以下特性: ‧ 问题是明确的,包含清晰的输入和输出定义。 ‧ 具有可行性,能够在有限步骤、时间和内存空间下完成。 ‧ 各步骤都有确定的含义,相同的输入和运行条件下,输出始终相同。 1.2.2. 数据结构定义 「数据结构 Data Structure」是 「复杂度分析 Complexity Analysis」或「渐近复杂度分析 Asymptotic Complexity Analysis」。 复杂度分析评估的是算法运行效率随着输入数据量增多时的增长趋势。这个定义有些拗口,我们可以将其分 为三个重点来理解: ‧“算法运行效率”可分为“运行时间”和“占用空间”,因此我们可以将复杂度分为「时间复杂度 Time Complexity」和「空间复杂度 Space
    0 码力 | 343 页 | 27.39 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.0.0 C++版

    推算方法、常见类型、示 例等。 ‧ 数据结构:基本数据类型和数据结构的分类方法。数组、链表、栈、队列、哈希表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤 和示例问题等。 第 0 章 前言 hello‑algo.com 3 图 0‑1 本书主要内容 0 引导你迈入数据结构与算法的知识殿堂。 1.2 算法是什么 1.2.1 算法定义 「算法 algorithm」是在有限时间内解决特定问题的一组指令或操作步骤,它具有以下特性。 ‧ 问题是明确的,包含清晰的输入和输出定义。 ‧ 具有可行性,能够在有限步骤、时间和内存空间下完成。 ‧ 各步骤都有确定的含义,在相同的输入和运行条件下,输出始终相同。 1.2.2 数据结构定义 「数据结构 data structure」是计 complexity analysis」,简称「复杂度分析」。 复杂度分析能够体现算法运行所需的时间和空间资源与输入数据大小之间的关系。它描述了随着输入数据大 小的增加,算法执行所需时间和空间的增长趋势。这个定义有些拗口,我们可以将其分为三个重点来理解。 ‧“时间和空间资源”分别对应「时间复杂度 time complexity」和「空间复杂度 space complexity」。 ‧“随着输入数据大小的
    0 码力 | 378 页 | 17.59 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.1.0 C++ 版

    推算方法、常见类型、示 例等。 ‧ 数据结构:基本数据类型和数据结构的分类方法。数组、链表、栈、队列、哈希表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤 和示例问题等。 第 0 章 前言 hello‑algo.com 3 图 0‑1 本书主要内容 0 迈入数据结构与算法的知识殿堂。 1.2 算法是什么 1.2.1 算法定义 算法(algorithm)是在有限时间内解决特定问题的一组指令或操作步骤,它具有以下特性。 ‧ 问题是明确的,包含清晰的输入和输出定义。 ‧ 具有可行性,能够在有限步骤、时间和内存空间下完成。 ‧ 各步骤都有确定的含义,在相同的输入和运行条件下,输出始终相同。 1.2.2 数据结构定义 数据结构(data structure)是计算 complexity analysis),简称复杂度分析。 复杂度分析能够体现算法运行所需的时间和空间资源与输入数据大小之间的关系。它描述了随着输入数据大 小的增加,算法执行所需时间和空间的增长趋势。这个定义有些拗口,我们可以将其分为三个重点来理解。 ‧“时间和空间资源”分别对应时间复杂度(time complexity)和空间复杂度(space complexity)。 ‧“随着输入数据大小的增加
    0 码力 | 379 页 | 18.47 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 08 CUDA 开启的 GPU 编程

    ,因此能很方便地重用 C++ 现有的任何代码库 ,引用 C++ 头文件等。 • host 代码和 device 代码写在同一个文件内,这 是 OpenCL 做不到的。 编写一段在 GPU 上运行的代码 • 定义函数 kernel ,前面加上 __global__ 修 饰符,即可让他在 GPU 上执行。 • 不过调用 kernel 时,不能直接 kernel() ,而 是要用 kernel<<<1, 1>>>() 完成队列的所有任务后再返回。从而 能够在 main 退出前等到 kernel 在 GPU 上执行完。 定义在 GPU 上的设备函数 • __global__ 用于定义核函数,他在 GPU 上执行,从 CPU 端通过三重尖括号语法调 用,可以有参数,不可以有返回值。 • 而 __device__ 则用于定义设备函数,他在 GPU 上执行,但是从 GPU 上调用的,而 且不需要三重尖括号,和普通函数用起来一 __noinline__ 来禁止内联优化。 定义在 CPU 上的主机函数 • __device__ 将函数定义在 GPU 上,而 __host__ 则相反,将函数定义在 CPU 上。 定义在 CPU 上的主机函数 • CUDA 完全兼容 C++ ,因此任何函数如 果没有指明修饰符,则默认就是 __host__ ,即 CPU 上的函数。 同时定义在 CPU 和 GPU 上 • 通过
    0 码力 | 142 页 | 13.52 MB | 1 年前
    3
共 28 条
  • 1
  • 2
  • 3
前往
页
相关搜索词
C++高性性能高性能并行编程优化课件0203现代教程高速上手1114172015深入深入浅出MFCHello算法1.00b41.108
IT文库
关于我们 文库协议 联系我们 意见反馈 免责声明
本站文档数据由用户上传或本站整理自互联网,不以营利为目的,供所有人免费下载和学习使用。如侵犯您的权益,请联系我们进行删除。
IT文库 ©1024 - 2025 | 站点地图
Powered By MOREDOC AI v3.3.0-beta.70
  • 关注我们的公众号【刻舟求荐】,给您不一样的精彩
    关注我们的公众号【刻舟求荐】,给您不一样的精彩