专题:模板元编程
共6篇相关文章

C ADL模板如何修改以适应特定需求?
什么是 ADL ADL(Argument Dependent Lookup),参数依赖查找,明确的意思是依赖参数的函数查找,即对于函数调用,不仅会依照常规的名称查找规则,还会在函数参数所在的命名空间内查找。 我们常用的 std::cout...

C++模板实参类型限制如何改成疑问?
有时候我们编写一个模板,希望用户使用我们期望的类型来实例化它,就需要对实参进行检查,限制不满足条件的实例化版本,同时给出便于理解的编译时信息。 对于 C++20 后的版本,可以将条件包装为concept:...

C++模板参数推导中,如何处理非推导上下文的问题?
最近遇到一个模板参数推导的问题,代码如下: 代码 template<typename T> using scalar = std::enable_if_t<std::is_a...

C语言如何通过分治法降低递归深度?
起因 C++14 引入 STL 的 make_index_sequence 可以生成一个类型为 std::size_t,0 到 N-1 的编译期序列,我们可以这样使用它: 代码 利用函数参数推导提取序...

如何推导C++模板参数,特别是模板类的模板构造函数?
本篇主要是为了记录在编写一个模板类的模板构造函数中遇到的初始化问题,以及针对这个问题展开的相关知识整理,文章就以引发这个问题的代码为标题了。 问题代码 在编写一个代表空间点的模板类 point 时,我打算为它添加一个模板构造函数: 代码 t...

C语言中如何实现ShaderLanguage的swizzle操作?
swizzle 语法 经常编写着色器的同学应该对 swizzle(重排)语法非常熟悉,方便又灵活,可以说是用过一次便回味无穷。 代码 vec4 color = vec4(1.0, 0.5, 0.0, 1.0); vec3 rgb = col...
