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

无数据

分类

全部后端开发(32)C++(25)Rust(7)前端开发(3)系统运维(3)JavaScript(3)云计算&大数据(3)NativeScript(3)数据库(2)Kubernetes(2)

语言

全部中文(简体)(25)英语(17)俄语(1)

格式

全部PPT文档 PPT(43)
 
本次搜索耗时 0.016 秒,为您找到相关结果约 43 个.
  • 全部
  • 后端开发
  • C++
  • Rust
  • 前端开发
  • 系统运维
  • JavaScript
  • 云计算&大数据
  • NativeScript
  • 数据库
  • Kubernetes
  • 全部
  • 中文(简体)
  • 英语
  • 俄语
  • 全部
  • PPT文档 PPT
  • 默认排序
  • 最新排序
  • 页数排序
  • 大小排序
  • 全部时间
  • 最近一天
  • 最近一周
  • 最近一个月
  • 最近三个月
  • 最近半年
  • 最近一年
  • ppt文档 C++高性能并行编程与优化 - 课件 - 13 C++ STL 容器全解之 vector

    C++ STL 容器全解之 vector by 彭于斌( @archibate ) 往期录播: https://www.bilibili.com/video/BV1fa411r7zp 课程 PPT 和代码: https://github.com/parallel101/course C++ 标准库五大件:容器( container ) C++ 标准库五大件:迭代器( iterator STL 侯捷 STL vector 容器 vector 容器:构造函数 • vector 的功能是长度可变的数组,他里面的数据 存储在堆上。 • vector 是一个模板类,第一个模板参数是数组里 元素的类型。 • 例如,声明一个元素是 int 类型的动态数组 a : • vector a; vector 容器:构造函数和 size • vector 可以在构造时指定初始长度。 explicit vector(size_t n); • 例如,要创建一个长度为 4 的 int 型数组 : • vector a(4); • 之后可以通过 a.size() 获得数组的长度。 • 比如右边这段代码会得到 4 。 • size_t size() const noexcept; vector 容器: operator[] • 要访问 vector 里的元素,只需用
    0 码力 | 90 页 | 4.93 MB | 1 年前
    3
  • ppt文档 C++20 STL Features: 1 Year of Development on GitHub

    progress (mnatsuhara): • GH-37 P0784R7 Library Support For More constexpr Containers • GH-43 P0980R1 constexpr string • GH-45 P1004R2 constexpr vector13 constexpr In Everyday Programming • constexpr constexpr has steadily increased in power • It's just code that runs on your machine instead of the user's • Example: lookup tables • Everyone uses lookup tables • Arrays are maximally space-efficient, very }15 Erasing Elements16 Container Erasure Strategies • Erasing unwanted elements before C++20: • vector-like: erase-remove idiom • list-like: remove/remove_if member functions • map-like: handwritten
    0 码力 | 45 页 | 702.09 KB | 6 月前
    3
  • ppt文档 C++23: An Overview of Almost All New and Updated Features

    std::to_underlying()  Associative Containers Heterogeneous Erasure  Removed Features  Garbage Collection Support7 Explicit Object Parameters  Instead of implicit this, explicitly specify the object parameter std::to_underlying()  Associative Containers Heterogeneous Erasure  Removed Features  Garbage Collection Support13 if consteval  Syntax: if consteval { /* A */ } else { /* B */ }  No condition  Braces are std::to_underlying()  Associative Containers Heterogeneous Erasure  Removed Features  Garbage Collection Support17 Multidimensional Subscript Operator  In the past, two options for accessing multidimensional
    0 码力 | 105 页 | 759.96 KB | 6 月前
    3
  • ppt文档 C++20: An (Almost) Complete Overview

    virtual functions  union, try/catch, dynamic_cast, typeid  allocations  constexpr string & vector  Concurrency Changes  Atomic Smart Pointers  Joining & Cancellable Threads  The C++20 Synchronization iterator pair, but does not replace them  Why ranges?  Provide nicer and easier to read syntax: vector data { 11, 22, 33 }; sort(begin(data), end(data)); ranges::sort(data);  Eliminate mismatching begin/end integers  Pipelining: Views can be chained using pipes  |13 Ranges  Example of chaining views: vector data { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; auto result { data | views::filter([](const auto& value)
    0 码力 | 85 页 | 512.18 KB | 6 月前
    3
  • ppt文档 Bringing Existing Code to CUDA Using constexpr and std::pmr

    cpu std::vector x(N); std::vector y(N); // … // gpu // ??? // ??? // … 15 |• Added in C++17: • std::pmr::memory_resource • std::pmr::polymorphic_allocator • std::pmr::vector • std: er_resource • … std::pmr 16 |// gpu unified_memory_resource mem; std::pmr::vector x(N, &mem); std::pmr::vector y(N, &mem); // … Memory Allocation 17 |struct unified_memory_resource mem; std::pmr::vector x(N, &mem); std::pmr::vector y(N, &mem); // … Memory Allocation 21 |Avoid References to Objects Not in Unified Memory void add_cpu( int n, vector const&
    0 码力 | 51 页 | 3.68 MB | 6 月前
    3
  • ppt文档 ClickHouse: настоящее и будущее

    этим делать 03 3 Impala Spark SQL Presto/Trino Drill Actian Vortex Kylin Kudu MonetDB Actian Vector Actian Matrix Redshift Greenplum OmniSci (mapD) Brytlyt HyPER Pinot kdb+ Shakti MemSQL (SingleStore) запросов с использованием GPU • Интеграция с ML & AI. Обработка графов • Batch jobs • Data Hub Support For Semistructured Data 27 JSO data type: CREATE TABLE games (data JSON) ENGINE = MergeTree; merge • Data is stored in columnar format: columns and subcolumns • Query nested data naturally Support For Semistructured Data 28 Example: NBA games dataset CREATE TABLE games (data String) ENGINE
    0 码力 | 32 页 | 2.62 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 14 C++ 标准库系列课 - 你所不知道的 set 容器

    https://github.com/parallel101/course 上期回顾: https://www.bilibili.com/video/BV1qF411T7sd 课程安排 1. vector 容器初体验 & 迭代器入门 (BV1qF411T7sd) 2. 你所不知道的 set 容器 & 迭代器分类 ( 本期 ) 3. string , string_view , const char 9. allocator ,内存管理与对象生命周期 set 和 vector 的区别 • 都是能存储一连串数据的容器 。 • 区别 1 : set 会自动给其中的 元素从小到大排序,而 vector 会保持插入时的顺序。 • 区别 2 : set 会把重复的元素 去除,只保留一个,即去重。 • 区别 3 : vector 中的元素在内 存中是连续的,可以高效地按 索引随机访问, set set 则不行。 • 区别 4 : set 中的元素可以高 效地按值查找,而 vector 则 低效。 set 的排序: string 会按“字典序”来排 • set 会从小到大排序,对 int 来 说就是数值的大小比较。那么对 字符串类型 string 要怎么排序 呢? • 其实 string 类定义了运算符重 载 < ,他会按字典序比较两个 字符串。所谓字典序就是优先比 较两者第一个字符(按
    0 码力 | 83 页 | 10.23 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 06 TBB 开启的并行编程之旅

    直接读写,避免了从主内存读写的超高延迟。 • 下次课会进一步深入探讨访存优化,详细剖析 这个案例,那么下周六 14 点敬请期待。 第 6 章:并发容器 std::vector 扩容时会移动元素 • std::vector 内部存储了一个指针,指向一段容量 capacity 大于等于其 size 的内存。 • 众所周知, push_back 会导致 size 加 1 ,但 当他看到容量 就不需要动态扩容,从 而避免了元素被移动造成指针和迭代器失 效。 不连续的 tbb::concurrent_vector • std::vector 造成指针失效的根本原因在于他 必须保证内存是连续的,从而不得不在扩容 时移动元素。 • 因此可以用 tbb::concurrent_vector ,他不 保证元素在内存中是连续的。换来的优点是 push_back 进去的元素,扩容时不需要移动 tbb::concurrent_vector 还是一个多 线程安全的容器,能够被多个线程同时并 发地 grow_by 或 push_back 而不出错 。 • 而 std::vector 只有只读的 .size() 和 [] 运算符是安全的,且不能和写入的 push_back 等一起用,否则需要用读写锁 保护。 不建议通过索引随机访问 • 因为 tbb::concurrent_vector 内存不连续
    0 码力 | 116 页 | 15.85 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 08 CUDA 开启的 GPU 编程

    封装 std::vector 的秘密:第二模板参数 • 你知道吗? std::vector 作为模板类,其实有两个模板参数: std::vector • 那为什么我们平时只用了 std::vector 呢?因为第二个参数默认是 std::allocator 。 • 也就是 std::vector 等价于 std::vector> 接口 • vector 会调用 std::allocator 的 allocate/deallocate 成员 函数,他又会去调用标准库的 malloc/free 分配和释放内存空间 (即他分配是的 CPU 内存)。 • 我们可以自己定义一个和 std::allocator 一样具有 allocate/deallocate 成员函数的类,这样就可以“骗过” vector , 让他不是在 ,因为他提升了标准库的泛用性。 进一步:避免初始化为 0 • vector 在初始化的时候(或是之后 resize 的时候)会调用所 有元素的无参构造函数,对 int 类型来说就是零初始化。然而 这个初始化会是在 CPU 上做的,因此我们需要禁用他。 • 可以通过给 allocator 添加 construct 成员函数,来魔改 vector 对元素的构造。默认情况下他可以有任意多个参数,而 如果没有参数则说明是无参构造函数。
    0 码力 | 142 页 | 13.52 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 02 现代 C++ 入门:RAII 内存管理

    C++20 作为扩展阅读。 C++ 有哪些面向对象思想? C++ 思想:封装 比如要表达一个数组,需要:起始地址指针 v ,数组大小 nv 将多个逻辑上相关的变量包装成一个类 因此 C++ 的 vector 将他俩打包起来,避免程序员犯错 封装:不变性 比如当我要设置数组大小为 4 时,不能只 nv = 4 还要重新分配数组内存,从而修改数组起始地址 v 常遇到:当需要修改一个成员时,其他也成员需要被修改,否则出错 () 强制转换。 • 否则 show(80) 也能编译通过! • 所以,如果你不希望这种隐式转换, • 请给单参数的构造函数加上 explicit 。 • 比如 std::vector 的构造函数 vector(size_t n) 也是 explicit 的。 explicit 对多个参数也起作用! • 多个参数时, explicit 的作用体现在禁止 从一个 {} 表达式初始化。 动生成。其他函数同理。 恭喜:你已经基本学废构造函数啦! • 《基本学废》!接下来着重介绍一下全家桶里的函数。 构造函数! 编写我们自己的 vector 类! 看来 vector 也不过如此!让我们自己实现一个 Vector 类试试看 吧 It works! 这个 Vector 类有哪些问题? 三五法则:规则类怪谈 1. 如果一个类定义了解构函数,那么您必须同时定义 或删除拷贝构造函数和拷贝赋值函数,否则出错。
    0 码力 | 96 页 | 16.28 MB | 1 年前
    3
共 43 条
  • 1
  • 2
  • 3
  • 4
  • 5
前往
页
相关搜索词
C++高性性能高性能并行编程优化课件1320STLFeaturesYearofDevelopmentonGitHub23AnOverviewAlmostAllNewandUpdatedCompleteBringingExistingCodetoCUDAUsingconstexprstdpmrClickHouse14060802
IT文库
关于我们 文库协议 联系我们 意见反馈 免责声明
本站文档数据由用户上传或本站整理自互联网,不以营利为目的,供所有人免费下载和学习使用。如侵犯您的权益,请联系我们进行删除。
IT文库 ©1024 - 2025 | 站点地图
Powered By MOREDOC AI v3.3.0-beta.70
  • 关注我们的公众号【刻舟求荐】,给您不一样的精彩
    关注我们的公众号【刻舟求荐】,给您不一样的精彩