C++_ 模板学习三

C++_ 模板学习三

bingliaolong C++ 3周前 9 0

成员模板、变量模板与模板模板参数 成员模板 普通类和类模板都可以包含成员模板 类模板中的成员模板 同一个 Box<int> 对象可以调用不同的成员模板特化 类外定义成员模板 不同类模板特化之间的转换 默认情况下它们是完全不同的类型: 可以用成员模板实现转换构造 为什么...

C++_ 模板学习四

C++_ 模板学习四

bingliaolong C++ 3周前 9 0

SFINAE、std::enable_if 与C++20 Concepts SFINAE 是什么 模板参数替换失败不算错误 Substitution Failure Is Not An Error 这里不是说整个程序永远不会报错,而是 这个候选模板的替换失败本身不立即报错,编译器...

基础算法模板

基础算法模板

bingliaolong Algorithm 4年前 13 0

快速排序 归并排序 整数二分算法 浮点数二分算法 高精度加法 高精度减法 高精度乘低精度 高精度除以低精度 一维前缀和 二维前缀和 一维差分 二维差分 位运算 双指针算法 离散化 区间合并

C++_ 模板学习五

C++_ 模板学习五

bingliaolong C++ 3周前 6 0

类型萃取的设计与实现 概述 类型萃取(type traits)可以理解成编译期函数 它们主要通过: 类模板 偏特化 using 类型成员 static constexpr 成员 类型萃取的三种主要形式 类型 输入输出 例子 预测型 trait 类型 → bool is_same、...

C++_ 模板学习六

C++_ 模板学习六

bingliaolong C++ 3周前 7 0

惰性实例化与元函数组合 概述 示例 很多人会认为“不选择的分支不会编译”,但实际经常仍然报错 关键规则是 std::conditional 只负责选择已经成功形成的两个类型,不负责阻止模板实参本身被形成 什么是惰性实例化 考虑 仅仅把模板特化当成不完整类型使用,通常不需要实例化其...

搜索与图论模板

搜索与图论模板

bingliaolong Algorithm 4年前 14 0

树与图的存储 树是一种特殊的图,与图的存储方式相同。 对于无向图中的边ab,存储两条有向边a->b, b->a。 因此我们可以只考虑有向图的存储。 树与图的遍历 拓扑排序 时间复杂度O(n+m),n表示点数,m表示边数 朴素dijkstra算法 时间复杂度O(n*n+...

C++_ 模板学习七

C++_ 模板学习七

bingliaolong C++ 3周前 8 0

Typelist——编译期类型容器 概述 普通容器保存运行期对象 Typelist 保存的是一组类型 它没有运行期元素,也不负责构造对象 所有内容都编码在模板参数包中 C++ 标准库没有名为 std::typelist 的类型,但: std::tuple<Ts...>...

扫一扫二维码分享