积分充值
 首页
前端开发
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文库
  • 综合
  • 文档
  • 文章

无数据

分类

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

语言

全部中文(简体)(11)中文(繁体)(1)

格式

全部PPT文档 PPT(9)PDF文档 PDF(3)
 
本次搜索耗时 0.052 秒,为您找到相关结果约 12 个.
  • 全部
  • 后端开发
  • C++
  • 全部
  • 中文(简体)
  • 中文(繁体)
  • 全部
  • PPT文档 PPT
  • PDF文档 PDF
  • 默认排序
  • 最新排序
  • 页数排序
  • 大小排序
  • 全部时间
  • 最近一天
  • 最近一周
  • 最近一个月
  • 最近三个月
  • 最近半年
  • 最近一年
  • pdf文档 《深入浅出MFC》2/e

    LOWEST_THREAD // 0xFF }; // 用来调整四方形顏色 ... for(i=0; i<5; i++) // 产生 5 个 threads _hThread[i] = CreateThread(NULL, pMyDoc->IsKindOf(CWnd); // 应该获得0(FALSE) 类别型录网与CRuntimeClass 怎么设计RTTI 呢?让我们想想,当你手上握有一种色泽,想知道它的RGB 成份比, 不查色表行吗?当你持有一种产品,想知道它的型号,不查型录行吗?要达到RTTI 的 能力,我们(类别库的设计者)一定要在类别构造起来的时候,记录必要的信息,以建 立型录。型录中的类别信息,最好以串行(linked ! Icon 编辑器 Icon、Cursor、Bitmap 和Toolbar 编辑器使用同一个心脏:它们架构在同一个图形编辑器 上,操作大同小异。过去这个心脏曾经遗漏两项重要功能,一是256 色图形支持,一是 「敲入文字就出现对应之Bitmap」工具(这种工具允许使用者将文字直接键入一张 bitmap 中,而不是一次一个图素慢慢地描)。自从Visual C++ 4.0 之后这两项重要功能
    0 码力 | 1009 页 | 11.08 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.2.0 繁体中文 C++ 版

    ‧ 本書的主要受眾是演算法初學者。如果你已有一定基礎,本書能幫助你系統回顧演算法知識,書中源程 式碼也可作為“刷題工具庫”使用。 ‧ 書中內容主要包括複雜度分析、資料結構和演算法三部分,涵蓋了該領域的大部分主題。 ‧ 對於演算法新手,在初學階段閱讀一本入門書至關重要,可以少走許多彎路。 ‧ 書中的動畫圖解通常用於介紹重點和難點知識。閱讀本書時,應給予這些內容更多關注。 ‧ 實踐乃學習程式設 是時間或空間 增長的“快慢”。 複雜度分析克服了實際測試方法的弊端,體現在以下幾個方面。 第 2 章 複雜度分析 www.hello‑algo.com 19 ‧ 它無需實際執行程式碼,更加綠色節能。 ‧ 它獨立於測試環境,分析結果適用於所有執行平臺。 ‧ 它可以體現不同資料量下的演算法效率,尤其是在大資料量下的演算法效能。 Tip 如果你仍對複雜度的概念感到困惑,無須擔心,我們會在後續章節中詳細介紹。 遞迴:將問題分解為子問題 ?(?) = ?+?(?−1) ,不斷(遞迴地)分解下去,直至基本情況 ?(1) = 1 時終止。 1. 呼叫堆疊 遞迴函式每次呼叫自身時,系統都會為新開啟的函式分配記憶體,以儲存區域性變數、呼叫位址和其他資訊 等。這將導致兩方面的結果。 ‧ 函式的上下文資料都儲存在稱為“堆疊幀空間”的記憶體區域中,直至函式返回後才會被釋放。因此, 遞迴通常比迭代更加耗費記憶體空間。 ‧
    0 码力 | 379 页 | 18.79 MB | 10 月前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 06 TBB 开启的并行编程之旅

    指向他的依赖项 SimBody 的源码路径,这么 dedicated 让人咋 用? 第 4 章:任务域与嵌套 https://link.springer.com/chapter/10.1007%2F978-1-4842-4398-5_12 任务域: tbb::task_arena 任务域:指定使用 4 个线程 嵌套 for 循环 嵌套 for 循环:死锁问题 死锁问题的原因 • 因为 外部 for 循环的任务,从而导致 mutex 被重复上锁。 解决 1 :用标准库的递归锁 std::recursive_mutex 解决 2 :创建另一个任务域,这样不同域之间就不会窃取工作 解决 3 :同一个任务域,但用 isolate 隔离,禁止其内部的工作被窃取 (推荐) 第 5 章:任务分配 https://link.springer.com/chapter/10.100 simple_partitioner 比 auto_partitioner 快 3.31 倍 原因 • tbb::simple_partitioner 能够按照给定的粒度 大小( grain )将矩阵进行分块。块内部小区 域按照常规的两层循环访问以便矢量化,块外 部大区域则以类似 Z 字型的曲线遍历,这样 能保证每次访问的数据在地址上比较靠近,并 且都是最近访问过的,从而已经在缓存里可以 直接读写,避免了从主内存读写的超高延迟。
    0 码力 | 116 页 | 15.85 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 11 现代 CMake 进阶指南

    解决:用引号包裹起来,防止被当做变量名 初学者如果搞不明白,可以把所有不确定的地方都套上一层引号, 例如” ${MYVAR}” ,这样就可以避免被 if 当做变量名来求值了。 第 10 章:变量与作用域 变量的传播规则:父会传给子 • 父模块里定义的变量,会传递给子模块。 变量的传播规则:子不传给父 • 但是子模块里定义的变量,不会传递给父模块。 变量的传播规则:子不传给父 • 如果父模 PARENT_SCOPE 选项,把一个变量传递到上一层作用域(也就是父模 块)。 如果子模块需要向父模块里传变量怎么办? • 如果父模块里没有定义 MYVAR 的话,也可以用缓存变量向外部传变量(不推荐)。但是 这样就不光父模块可见了,父模块的父模块,到处都可见。 除了父子模块之外还有哪些是带独立作用域的 • include 的 XXX.cmake 没有独立作用域 • add_subdirectory add_subdirectory 的 CMakeLists.txt 有独立作用域 • macro 没有独立作用域 • function 有独立作用域 • (因此 PARENT_SCORE 也可以用于 function 的返回值) • https://cmake.org/cmake/help/v3.16/command/set.html • https://blog.csdn.net/Calvin_zhou/article/details/104060927
    0 码力 | 166 页 | 6.54 MB | 1 年前
    3
  • pdf文档 现代C++ 教程:高速上手C++11/14/17/20

    end(); ++element) std::cout << *element << std::endl; } 在上面的代码中,我们可以看到 itr 这一变量是定义在整个 main() 的作用域内的,这导致当我们 需要再次遍历整个 std::vector 时,需要重新命名另一个变量。C++17 消除了这一限制,使得我们可 以在 if(或 switch)中完成这一操作: // 将临时变量放到 让编译器自行推导引用列表 • [=] 值捕获, 让编译器自行推导值捕获列表 4. 表达式捕获 这部分内容需要了解后面马上要提到的右值引用以及智能指针 上面提到的值捕获、引用捕获都是已经在外层作用域声明的变量,因此这些捕获方式捕获的均为左 值,而不能捕获右值。 C++14 给与了我们方便,允许捕获的成员用任意的表达式进行初始化,这就允许了右值的捕获,被 声明的捕获变量类型会根据表达式进行判断,判断方式与使用 在传统 C++ 中,『记得』手动释放资源,总不是最佳实践。因为我们很有可能就忘记了去释放资源 而导致泄露。所以通常的做法是对于一个对象而言,我们在构造函数的时候申请空间,而在析构函数(在 离开作用域时调用)的时候释放空间,也就是我们常说的 RAII 资源获取即初始化技术。 凡事都有例外,我们总会有需要将对象在自由存储上分配的需求,在传统 C++ 里我们只好使用 new 和 delete 去『记得』对资源进行释放。而
    0 码力 | 83 页 | 2.42 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 16 现代 CMake 模块化项目管理指南

    里写一些你常用的函数,宏,变量等。 macro 和 function 的区别 • macro 相当于直接把代码粘贴过去,直接访问调用者的作用域。这里写的相对路径 include 和 src ,是基于调用者所在路径。 • function 则是会创建一个闭包,优先访问定义者的作用域。这里写的相对路径 include 和 src ,则是基于定义者所在路径。 https://cmake.org/cmake add_subdirectory 的区别 • include 相当于直接把代码粘贴过去,直接访问调用者的作用域。这里创建的变量和外面共 享,直接 set(key val) 则调用者也有 ${key} 这个变量了。 • function 中则是基于定义者所在路径,优先访问定义者的作用域。这里需要 set(key val PARENT_SCOPE) 才能修改到外面的变量。 第二章:第三方库
    0 码力 | 56 页 | 6.87 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 05 C++11 开始的多线程编程

    ,上锁视为锁的获取,解锁视为锁的释放 。 • std::lock_guard 就是这样一个工具类,他 的构造函数里会调用 mtx.lock() ,解构函 数会调用 mtx.unlock() 。从而退出函数作 用域时能够自动解锁,避免程序员粗心不 小心忘记解锁。 std::unique_lock :也符合 RAII 思想,但自由度更高 • std::lock_guard 严格在解构时 unlock() ,但是 flag ,如果没有释放,则调用 unlock() ,否则 不调用。 • 然后可以直接调用 unique_lock 的 unlock() 函 数来提前解锁,但是即使忘记解锁也没关系, 退出作用域时候他还会自动检查一遍要不要解 锁。 std::unique_lock :用 std::defer_lock 作为参数 • std::unique_lock 的构造函数还可以有一 个额外参数,那就是 arr2 。 • 不同的对象,各有一个 mutex ,独立地上 锁,可以避免不必要的锁定,提升高并发 时的性能。 • 还用了一个 {} 包住 std::lock_guard ,限 制其变量的作用域,从而可以让他在 } 之 前解构并调用 unlock() ,也避免了和下面 一个 lock_guard 变量名冲突。 如果上锁失败,不要等待: try_lock() • 我们说过 lock()
    0 码力 | 79 页 | 14.11 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 02 现代 C++ 入门:RAII 内存管理

    除了用于初始化的构造函数( constructor ) 还包括了用于销毁的解构函数( destructor ) 离开 {} 作用域自动释放 手动释放 RAII :避免犯错误 与 Java , Python 等垃圾回收语言不同, C++ 的 解构函数是显式的,离开作用域自动销毁,毫不含 糊(有好处也有坏处,对高性能计算而言利大于 弊) 如果没有解构函数,则每个带有返回的分 支都要手动释放所有之前的资源 时,默认是会拷贝的。比如右边这样: • 但是这样对我们当前 Vector 的实现造成一个很大 的问题。其 m_data 指针是按地址值浅拷贝的, 而不深拷贝其指向的数组! • 这就是说,在退出 main 函数作用域的时 候, v1.m_data 会被释放两次!更危险的则是 v1 被解构而 v2 仍在被使用的情况。 • 这就是为什么“如果一个类定义了解构函数,那么 您必须同时定义或删除拷贝构造函数和拷贝赋值函
    0 码力 | 96 页 | 16.28 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 13 C++ STL 容器全解之 vector

    vector 容器: RAII 避免内存泄露 • 如果用 new/delete 或者 malloc/free 就很容易出现忘记释放内存的情况,造成内存泄露 。 • 而 vector 会在离开作用域时,自动调用解构函数,释放内存,就不必手动释放了,更安 全。 https://github.com/zenustech/zeno/blob/master/zenovis/src/Scene.cpp 标志着一个语句块的结束,在这里,他 会调用所有身处其中的对象的解构函数。比如 这里的 vector ,他的解构函数会释放动态数组 的内存(即自动 delete )。 • vector 会在退出作用域时释放内存,这时候所 有指向其中元素的指针,包括 data() 都会失效。 因此如果你是在语句块内获取的 data() 指针, 语句块外就无法访问了。 • 可见 data() 指针是对 vector 也可以移动到一个全局变量的 vector 对象。 • 这样数组就会一直等到 main 退出了才释放。 • 小彭老师曾经在 taichi 中就是用了一个全局 变量伺候了 unique_ptr 脱离作用域会释放的 麻烦,让 lambda 中仍可访问对象。 • 至于那个全局变量本身有没有被使用则无所谓 (我们是通过首地址指针间接访问)。他的存 在只是为了延续生命周期,告知 C++ 编译器 什么时候能
    0 码力 | 90 页 | 4.93 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 10 从稀疏数据结构到量化数据类型

    unordered_map 中存储的表项数量,从而减轻哈 希的压力。但意味着键值在空间上需要具有一定的局域性,否 则 会浪费分块中一 部分空间。 然而我们这里是 要用他记录粒子 经过的点,因此 具有一定空间局 域性,能够被分 块优化。 实际上空间局域 性正是稀疏网格 能够实现的一大 前提,稍后详细 讨论。 在 16x16 分块的基础上,只用一个 bit 存储 图片解释稀疏的好处 传统稠密二维数组 无边界稀疏分块哈希表
    0 码力 | 102 页 | 9.50 MB | 1 年前
    3
共 12 条
  • 1
  • 2
前往
页
相关搜索词
深入深入浅出MFCHello算法1.2繁体中文繁体中文C++高性性能高性能并行编程优化课件0611现代教程高速上手1417201605021310
IT文库
关于我们 文库协议 联系我们 意见反馈 免责声明
本站文档数据由用户上传或本站整理自互联网,不以营利为目的,供所有人免费下载和学习使用。如侵犯您的权益,请联系我们进行删除。
IT文库 ©1024 - 2025 | 站点地图
Powered By MOREDOC AI v3.3.0-beta.70
  • 关注我们的公众号【刻舟求荐】,给您不一样的精彩
    关注我们的公众号【刻舟求荐】,给您不一样的精彩