积分充值
 首页
前端开发
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)

语言

全部中文(简体)(12)

格式

全部PPT文档 PPT(11)PDF文档 PDF(1)
 
本次搜索耗时 0.030 秒,为您找到相关结果约 12 个.
  • 全部
  • 后端开发
  • C++
  • 全部
  • 中文(简体)
  • 全部
  • PPT文档 PPT
  • PDF文档 PDF
  • 默认排序
  • 最新排序
  • 页数排序
  • 大小排序
  • 全部时间
  • 最近一天
  • 最近一周
  • 最近一个月
  • 最近三个月
  • 最近半年
  • 最近一年
  • pdf文档 现代C++ 教程:高速上手C++11/14/17/20

    变长参数模板 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 折叠表达式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 非类型模板参数推导 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 第 3 章语言运行期的强化 34 3.1 Lambda 表达式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 基础 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 第 6 章正则表达式 57 6.1 正则表达式简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 普通字符
    0 码力 | 83 页 | 2.42 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 03 现代 C++ 进阶:模板元编程

    (下一讲会深入分析编译器的工作原理) 模板的难题:编译期常量的限制 • 编译期常量的限制就在于他不能通过运行时变量组成的表达式来指定。比如: • 这里在 if constexpr 的表达式里用到了运行时变量,从而无法作为编译期分支的条件。 模板的难题:编译期常量的限制(续) • 除了 if constexpr 的表达式不能用运行时变量,模板尖括号内的参数也不能: • 可以在 bool debug 变量的定义前面加上 变量的定义前面加上 constexpr 来解决: • 但这样 debug = 右边的值也必须为编译期常量,否则出错: 模板的难题:编译期常函数 • 编译期 constexpr 的表达式,一般是无法调用其他函数的。 • 解决:如果能保证 isnegative 里都可以在编译期求值,将他前面也标上 constexpr 即可 。 • 注意: constexpr 函数不能调用 non-constexpr 函数。而且 理解右值:即将消失的,不长时间存在于内存中的值 • 引用又称为左值( l-value )。左值通常对应着一个长时间存在于内 存中的变量。 • 除了左值之外,还有右值( r-value )。右值通常是一个表达式,代 表计算过程中临时生成的中间变量。因此有的教材又称之为消亡引用 。 • 得名原因:左值常常位于等号的左边,而右值只能位于等号右边。如 : a = 1; • 已知: int a; int *p;
    0 码力 | 82 页 | 12.15 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - Zeno 中的现代 C++ 最佳实践

    doc/html/ boost_typeerasure.html 类型擦除利用的是 C++ 模板的惰性实例化, Java 的泛型是做不到滴 • 由于 C++ 模板惰性编译的特性,这个擦除掉的表达式会在你实例化 AnimalWrapper 的时候 自动对 T 进行编译。这意味着如果你给他一个不具有一个名为 speak 成员函数的类(比如这里 的 Phone 类只有 play 函数)就会在实例化的那行出错。 • 注意:这里的 m_inner.speak() 只是一个例子,其实不一定是成员函数,完全可以是 std::sort(m_inner.begin(), m_inner.end()) 之类的任意表达式,只要语义上通过,就可以实例化。 • (把 sort 封装成虚函数,留作回家作业) Zeno 中对 OpenVDB 的类型擦除 • 结合类型擦除技术,自动虚克隆技术。 • VDBGrid 作为所有网格类的基类提供各个 类型全局变量 helper ,然后他的右边其实是可以写一个表达 式的,这个表达式实际上会在 main 函数之 前执行! • 全局变量的初始化会在 main 之前执行,这实 际上是 C++ 标准的一部分,我们完全可以放 心利用这一点来执行任意表达式。 • 对于 DLL 来说则是 DLL 加载时执行表达式 。 逗号表达式的妙用 • 那么这里是因为比较巧合, printf 的返回类型 正好是
    0 码力 | 54 页 | 3.94 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 11 现代 CMake 进阶指南

    (补丁版本号)。 一些没什么用,但 CMake 官方不知为何就是提供了的项目字段…… 项目名的另一大作用:会设置另外 < 项目名 >_SOURCE_DIR 等变量 小技巧: CMake 的 ${} 表达式可以嵌套 因为 ${PROJECT_NAME} 求值的结果是 hellocmake 所以 ${${PROJECT_NAME}_VERSION} 相当于 ${hellocmake_VERSION} 进一步求值的结果也就是刚刚指定的 Android, MacOS, iOS )都为真 使用生成器表达式,简化成一条指令 https://cmake.org/cmake/help/latest/manual/cmake-generator-expressions.7.html#genex:PLATFORM_ID 语法: $<$< 类型 : 值 >: 为真时的表达式 > 比如 $<$:MY_NAME=”Bill Y_NAME=”Bill Gates”> 在 Windows 平台上会变为 MY_NAME=”Bill Gates” 其他平台上则表现为空字符串 生成器表达式:如需多个平台可以用逗号分割 https://cmake.org/cmake/help/latest/manual/cmake-generator-expressions.7.html#genex:PLATFORM_ID 判断当前用的是哪一款
    0 码力 | 166 页 | 6.54 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 02 现代 C++ 入门:RAII 内存管理

    引入 STL 容器库 近现代: C++11 引入了 {} 初始化表达式 近现代: C++11 引入了 range-based for-loop 如果想使用 for_each 这个算法模板呢? 我知道可以用 accumulate 啦!但是为了引出 lambda 表达式…… 近现代: C++11 引入了 lambda 表达式 现代: C++14 的 lambda 允许用 auto 自动推断类型 unlock 造成死锁等等…… RAII :离不开构造函数 • 如题,那么如何定义构造函数呢? BV1h64y197Fd 自定义构造函数:无参数 自定义构造函数:无参数(使用初始化表达式) 为什么需要初始化表达式? 1. 假如类成员为 const 和引用 2. 假如类成员没有无参构造函数 3. 避免重复初始化,更高效 自定义构造函数:多个参数 自定义构造函数:单个参数 自定义构造函数:单个参数(陷阱) std::vector 的构造函数 vector(size_t n) 也是 explicit 的。 explicit 对多个参数也起作用! • 多个参数时, explicit 的作用体现在禁止 从一个 {} 表达式初始化。 • 如果你希望在一个返回 Pig 的函数里用: • return {“ 佩奇” , 80}; • 的话,就不要加 explicit 。 • 顺便一提,上一个例子中 show(80)
    0 码力 | 96 页 | 16.28 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 08 CUDA 开启的 GPU 编程

    __device__ ,从而两边都可以调用。 • 因为 constexpr 通常都是一些可以内联的函数,数学计 算表达式之类的,一个个加上太累了,所以产生了这个 需求。 • 不过必须指定 --expt-relaxed-constexpr 这个选项才能 用这个特性,我们可以用 CMake 的生成器表达式来实 现只对 .cu 文件开启此选项(不然给到 gcc 就出错 了)。 • 当然, constexpr 上的函数,否则会变成 CPU 上的函数。 进一步:函子可以是 lambda 表达式 • 可以直接写 lambda 表达式,不过必须在 [] 后, () 前,插入 __device__ 修饰符。 • 而且需要开启 --extended-lambda 开关。 • 为了只对 .cu 文件开启这个开关,可以用 CMake 的生成器表达式,限制 flag 只对 CUDA 源码生效,这样可以混合其他 其前两个参数是 device_vector 或 host_vector 的迭代器,可以通过成员函数 begin() 和 end() 得到。第三个参数可以 是任意函数,这里用了 lambda 表达式。 模板函数: thrust::for_each • 同理,还有 thrust::for_each(b, e, f) 对标 std::for_each 。他会把 [b, e) 区间的每个 元素
    0 码力 | 142 页 | 13.52 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 05 C++11 开始的多线程编程

    std::thread • C++11 开始,为多线程提供了语言级别的 支持。他用 std::thread 这个类来表示线 程。 • std::thread 构造函数的参数可以是任意 lambda 表达式。 • 当那个线程启动时,就会执行这个 lambda 里的内容。 • 这样就可以一边和用户交互,一边在另一 个线程里慢吞吞下载文件了。 错误:找不到符号 pthread_create • tex> 一起用,稍 后会解释原因。 条件变量:等待某一条件成真 • 还可以额外指定一个参数,变成 cv.wait(lck, expr) 的形式,其中 expr 是 个 lambda 表达式,只有其返回值为 true 时才会真正唤醒,否则继续等待。 条件变量:多个等待者 • cv.notify_one() 只会唤醒其中一个等待中 的线程,而 cv.notify_all() 会唤醒全部。
    0 码力 | 79 页 | 14.11 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 13 C++ STL 容器全解之 vector

    = {6, 1, 7, 4}; • 和刚刚先创建再赋值的方法相比更直观。 • vector(initializer_list list); vector 容器:构造函数 • 初始化表达式的等号可以写也可以不写: • vector a = {6, 1, 7, 4}; • vector a{6, 1, 7, 4}; • 都是等价的。 • vector(initializer_list 各自创立一套规范的成本。 迭代器模式: ++ 的前置和后置 • 迭代器的自增运算符分为 ++p 和 p++ 两种写法。 • 他们都会产生 p = p + 1 的效果,但是有一个细微的 区别,就是他们被作为表达式时的返回值。 • ++p 会返回自增后的值 p + 1 ,这和 p += 1 完全一 样,同样因为返回的是一个左值引用所以还可以继续 自增比如 ++++p 。 • p++ 会返回自增前的值 p
    0 码力 | 90 页 | 4.93 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 04 从汇编角度看编译器优化

    rax *= rsi 不过是 int64_t 的 整数加法:被优化成 leal 了 eax = rdi + rsi (%rdi,%rsi) 相当于: *(rdi + rsi) 而 lea 是加载表达式的地址,相当于 & leal (%rdi,%rsi), %eax 相当于: eax = &*(rdi + rsi) 妙用本用于指针的指令,尽管此时 rdi 和 rsi 并不是指针 整数加常数乘整数:都可以被优化成
    0 码力 | 108 页 | 9.47 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 14 C++ 标准库系列课 - 你所不知道的 set 容器

    ( 本期 ) 3. string , string_view , const char * 的爱恨纠葛 4. 万能的 map 容器全家桶及其妙用举例 5. 函子 functor 与 lambda 表达式知多少 6. 通过实战案例来学习 STL 算法库 7. C++ 标准输入输出流 & 字符串格式化 8. traits 技术,用户自定义迭代器与算法 9. allocator ,内存管理与对象生命周期
    0 码力 | 83 页 | 10.23 MB | 1 年前
    3
共 12 条
  • 1
  • 2
前往
页
相关搜索词
现代C++教程高速上手11141720高性性能高性能并行编程优化课件030208051304
IT文库
关于我们 文库协议 联系我们 意见反馈 免责声明
本站文档数据由用户上传或本站整理自互联网,不以营利为目的,供所有人免费下载和学习使用。如侵犯您的权益,请联系我们进行删除。
IT文库 ©1024 - 2025 | 站点地图
Powered By MOREDOC AI v3.3.0-beta.70
  • 关注我们的公众号【刻舟求荐】,给您不一样的精彩
    关注我们的公众号【刻舟求荐】,给您不一样的精彩