cost 67 ms
如何在C++中获取模板成员function实例的地址? - How to take address of templated member function instance in C++?

我试图获取模板化成员 function 实例的地址。 由于某种原因,它不起作用。 这是最小的可重现示例: 上面的代码给出了以下错误: 但是,如果f不是成员 function,则相同的代码可以工作: 那么,如何在C++中获取模板成员function实例的地址呢? ...

是否可以显式实例化返回未指定类型的模板函数? - Is it possible to explicitly instantiate a templated function that returns an unspecified type?

我正在尝试执行模板化函数的显式实例化以提高我的代码覆盖率结果的准确性。 当返回类型已知时,我知道如何执行此操作。 我可以通过返回void的包装函数的定义间接实现所需的结果。 如果没有这个额外的功能定义,是否可以实现结果? 编辑:固定类型约束(最初是std::invocable<int> ...

如何根据 class 实例化基础初始化 constexpr static class 成员? - How to initialize constexpr static class members per class instantiation basis?

基本上,我想允许 class Foo的客户端使用基于在实例化Foo时传递给它的模板类型参数的任意值来定义其static constexpr成员变量。 这是一个MRE: 请注意,值20和30用于演示目的,不需要在 class 内,因为我想强制客户端自行决定他们希望其Foo版本的constant1和c ...

标准库非类型模板类是否显式实例化? - Are standard library non-type template classes explicitly instantiated?

当我们有一个具有非类型模板参数的模板化 class(或函数)时,编译器如何生成版本? 当然,它不会为N的每个可能值创建一个版本假设像std::array<T,N>这样的东西? 我正在尝试使用 size_t 模板参数编写自己的模板化 function,并且我试图弄清楚是否/如何需要显式实 ...

C++ 中模板化 class 的模板化友元的显式模板实例化 - Explicit template instantiation of templated friend of templated class in C++

我有一个主要的 class MainClass ,其私有成员变量应该对朋友 class FriendClass 。 两者都由一个名为dim的int模板化,并且它们都有各自的 header 和源文件(因此位于不同的翻译单元中)。 由于MainClass并不真正依赖于FriendClass (并避免循环 ...

头文件中是否允许函数模板的显式模板实例化定义 - Are explicit template instantiation definition for a function template allowed in header files

当我遇到以下答案时,我正在阅读有关显式模板实例化的内容: 假设通过“显式模板实例化”你的意思是像 然后这些必须在源文件中考虑定义,因此受ODR约束。 我的问题是,上面声称显式模板实例化定义不能放入头文件(并且必须放入源文件)在技术上是正确的。 我正在从标准(或等效来源)中寻找确切 ...

如果我想限制 class 模板可以接受的类型,是否应该使用模板的显式实例化? - Should explicit instantiation of templates be used if I want to limit what types a class template can accept?

我有一个模板化的 class,我只想允许使用某些类型。 我相信一种方法是在源文件末尾使用显式实例化——我相信如果开发人员试图实例化一个不是显式实例化类型的类型,这将导致 linker 错误。 但是,当我在 SO 上搜索时,例如,在下面的 2 个链接中,我没有看到任何使用显式实例化的提及,所以我质疑 ...

使用默认模板/函数 arguments 显式实例化 - explicit instantiation with default template/function arguments

我正在尝试显式实例化具有默认模板参数以及相应参数的默认值的模板化 function,但我找不到正确的语法。 我正在尝试的是以下内容: 但我只是得到一个错误,说 foo<> 不匹配任何模板声明。 有什么方法可以使用默认类型和参数值,同时仍然能够进行显式实例化? 对我来说,唯一的其他选择是在 ...

强制链接显式实例化的 static 库 - Force linking of explicitly instantiated static library

我有一些仅模板化的标头 class A.hpp: 并在相应的 A.cpp 中进行显式实例化: 我将库编译为 object,并将其转换为 static 库格式: 编辑:通过添加构造函数,我能够从 object 文件中获取符号: 当我之后编译 main.cpp 时: 我仍然必须包含 header 文件 ...

以整数范围作为参数的显式实例化模板类的静态编译库 - Statically compiled library for explicit instantiatied template class with integer ranges as parameters

我在某些头文件中有一个非类型参数模板类: 我想显式实例化 N1 = [0...K1], N2 = [0...K2] 范围内的一些类,但这会导致许多排列: 给定对源文件和头文件的适当安排,这是否会编译为静态库,是否可以概括排列? ...

CRTP 中的 static 数据成员专业化是否违反 ODR? - Does static data member specialization in CRTP violate ODR?

首先,我知道这个问题可能看起来是重复的。 但是我已经阅读了很多有类似问题的帖子,但没有找到答案。 其次,到目前为止,我的解决方案没有任何问题。 所以我问的是我的解决方案是否正确且没有陷阱。 假设我有一个 class 模板Particle ,它应该是CRTP中的基础 class 并且打算有一个 st ...

function 模板的显式实例化何时发生 - When does instantiation happens for explicit instantiation of a function template

嗨,我正在尝试了解显式实例化。 所以阅读不同的例子,但在一个例子中有一些疑问。 下面给出了这个例子,我在这个特定的例子中有两个疑问。 文件Application.cc包含: 文件templateBuild.cc包含: 另请注意,function 模板比较是: 我的问题如下: 正如您在第 2 行的 A ...

自动化显式模板实例化 - Automating explicit template instantiation

为了减少模板繁重的项目中的编译时间,我试图在单独的编译单元中显式实例化许多模板。 因为这些模板依赖于enum class成员,所以我能够列出所有可能的实例化。 我希望所有其他 cpp 文件只看到声明。 虽然我能够做到这一点,但我在尝试分解显式实例时遇到了问题。 我将首先解释下面的 2 个工作示例,以 ...

显式模板实例化和调试加载时间 - Explicit template instantiation and debug load time

我一直想知道使用显式模板实例化是否可以帮助减少调试器加载二进制文件所需的时间。 类似于通过相同机制减少链接时间的东西。 同样,有什么方法可以衡量这个吗? 我可以使用readelf -e查看调试信息的大小,例如 有没有更细粒度的(没有所有血淋淋的细节)? 有关信息,这是 Linux (RHEL 6.6 ...


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