cost 118 ms
条件编译(constexpr if)和“ISO C++ 禁止零大小数组” - Conditional compilation (constexpr if) and "ISO C++ forbids zero-size array"

使用以下代码: 我收到编译器错误(带有 -pedantic 标志),它抱怨不允许零大小数组。 在我的示例中,从未创建具有零大小数组的 object,但看起来它仍然是一个问题。 我试图通过使用std::conditional来解决它,但即便如此,我还是得到了一个额外的 function,例如: 处理 ...

擦除作为 NTTP 注入的 static 字符串中的字符类型和字符串长度? - Erasing character type and string length in a static string injected as NTTP?

我目前正面临一个与字符串文字和类型擦除有关的模板元编程问题。 问题如下。 让我们考虑以下代码: 问题:如何设计一个 class static_string ,它将作为其类型的一部分“擦除”字符类型及其长度,以便上面的static_assert不会失败? ...

如何基于模板推导进行 static 调度 - How to do static dispatch base on derivation on a template

如果对象属于某些模板/类,我如何专门化模板 function 以返回 true,而对于其他模板/类则返回 false 没有类具有虚函数。 我有一个模板: 我想做特殊处理,或从该模板派生的任何 class。 在下面的示例中,我对DynamicData<>进行了专门化: DynamicDat ...

C++11中如何用inheritance定义模板模板类型 - How to define template template types with inheritance in C++11

我想定义一个派生的 class,它具有模板化基础 class 的模板模板类型。这可能吗?如果可以,语法是什么? 我尝试了很多事情都没有成功。 请考虑这段代码: 为什么:我有Derived<U>的现有/工作代码,其中U是一个包装的 class W<T> 。 使用模板模板类型在定 ...

class 对象与标量具有不同行为的函数和运算符的模板参数推导和特化 - Template parameter deduction and specialization for functions and operators with different behavior for class objects vs scalars

我正在从事一个通过模板元编程涉及一些 static 多态性的项目。 这些类通过数学运算进行交互,这些运算应该同时识别标量和 class object arguments。多态性和对象-对象交互的一个基本示例是: 在我尝试添加模板专业化来解释与标量的乘法之前,这似乎工作得很好。 似乎这个新的模板专业化 ...

将可变参数模板 arguments 传递给另一个模板 - Passing variadic template arguments to another template

我有这段代码,其中static_for可以用作使用模板元编程的编译时循环,而loop_types是一个接受可变参数 arguments 的struct 。每当我尝试调用 function call时,它都会给我一个错误。 在loop_types中,这是一个模板loop ,包含打印类型名称的 func ...

如何根据数组的大小启用/禁用 function? - How can I enable/disable a function depending on the size of an array?

我对 TMP 还是很陌生,所以如果这是一个措辞不佳的问题,请原谅我。 我试图制作一个非常通用的数学向量 class 来存储任意数量的组件,但默认为 3 并使用 float 作为它的基本表示。 因此,如果您默认构建这些向量之一,它将包含(0.0f,0.0f,0.0f) 这些值本身存储在std::ar ...

当两种类型相等时,如何为泛型 class 上的泛型方法添加模板专业化? - How do I add a template specialization when for a generic method on a generic class when the two types are equal?

我正在尝试添加通用类型方法和 class 一致的专业化,但我无法弄清楚如何指定模板实例化(如果可能的话)。 我最好的猜测是类似于以下内容(尽管它显然无法编译):template<typename ClassT> class Foo { public: ClassT x; te ...

将 lambda 模板化的 class 存储为另一个 class 的成员时如何推断模板参数? - How to deduce the template argument when storing a lambda-templated class as a member of another class?

我有一个关于将 lambda 模板化的 object 存储为 class 成员的问题。 Invoker class 是一个模板化的 class,存储任意 lambda function。我想将Invoker的实例存储在另一个 class, Worker中。 但是,当Invoker用作 class ...

C++ 模板检查输入类型是否实现了`operator []` - C++ template to check if input type implements `operator []`

我正在尝试使用模板来检查输入类型是否实现了operator[] 。 这是我的代码: 但它没有用。 无论我输入哪种类型,它总是 output 0。 我认为如果T = int或T = double , decltype(&T::operator[])将失败并且将根据 SFINAE 使用主要的h ...

如何阻止 clang 通过模板过度扩展嵌套循环? - How to stop clang from overexpanding nested loops via templates?

考虑这段代码 在clang++ -O0中编译时,它会在几秒钟内编译,然后运行 4 秒。 但是用clang++ -O2 ,编译时间长,memory很多。 在godbolt上可以看到,把8改小一点,就充分展开了循环。 我不是让它完全没有优化,而是让它不递归,就像嵌套循环应该表现的那样。 有什么我应该做 ...

api 用于索引可变参数 arguments - api for indexed variadic arguments

我不知道在将类似元组的对象解包到可调用处理程序中时,即在使用std::apply时,是否有一种好的和干净的方法来索引可变参数 arguments 。 这是一个不完美但相当干净的解决方案: 此解决方案比使用std::index_sequence的重载更干净,因为您不必在 lambda 的 scope ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM