typename相关内容

我必须将“模板"放在哪里以及为什么要放?和“类型名称"关键词?

在模板中,我必须将 typename 和 template 放在从属名称的何处以及为什么? 究竟什么是从属名称? 我有以下代码: template //Tail 也将是一个 UnionNode.struct UnionNode : 公共尾{//...模板结构体联合{//Q: 这里在哪里添加类型名/模板?typedef Tail::inUnion假的;};模板{};};模板 //对于最后一 ..
发布时间:2021-12-01 14:36:41 C/C++开发

`typedef typename Foo<T>::Bar Bar' 的模板声明

我在声明如下所示的模板化类型时遇到了很大的困难. #include #include 使用命名空间标准;模板Foo类{typedef T 栏;};模板typedef typename Foo::Bar Bar;int main(int argc, char *argv[]){吧台;Foo富;系统(“暂停");返回退出成功;} 我收到错误 `typedef typename Foo::B ..
发布时间:2021-09-04 20:46:22 其他开发

C ++将字符串转换为类型名

因此,我找到了许多文章和帖子,说无法将 typename 转换为 string ,但是我没有找到相反的方法.我有一个具有专业化功能的 template : 模板无效foo(T sth){}模板void foo(int sth){}... 我正在从一个像这样构造的文件中读取内容: int 20双重12.492字符串词 是否有一种方法可以根据文件 ..
发布时间:2021-04-19 20:02:40 其他开发

C ++找不到从当前模板类继承的模板基类中定义的类型

我正在尝试编写模板的变体定义super类型习语的类.类Inherit引入了类型Super来表示可能非常长的超级类型,并且还需要知道派生的类型New来做一些我在这里没有显示的额外操作. 如果传递给New的类型不是模板,但对于模板失败,则可以正常工作.这是用clang++-3.8 -std=c++1y -Wall编译的完整示例(gcc给出相同的输出): struct SomeBase {} ..
发布时间:2020-07-12 05:17:05 其他开发

typename,type成员和non-type成员:它是有效的代码吗?

考虑以下代码: struct S { struct type {}; type type; }; int main() { typename S::type t; (void) t; } 除了这不是一个好主意的事实外,我在阅读了关于SO的另一个问题后正在进行实验. 我发现上面的代码段是 GCC编译没有错误,它是 错误:类型名称说明符指向'S'中的 ..
发布时间:2020-07-12 05:17:02 其他开发

加密模板模板参数错误

我正在尝试创建一个从std::map或std::unordered_map获取键的函数.我可以使用简单的重载,但首先,我想知道这段代码有什么问题. template class TContainer> std::vector getKeys(const TContainer ..
发布时间:2020-07-12 05:15:58 其他开发

模板类中的Typedef不起作用

我对以下代码有疑问: template class lamePtr { public: typedef U* ptr; }; template class smarterPointer { public: void funFun() { typedef lamePtr someType ..
发布时间:2020-07-12 05:15:55 其他开发

如何确定对象是否可以将ToString转换为值或类型名称?

我正在编写php服务和我们的crm之间的互操作.我需要做的一件事是确保将简单类型转换为ToString()以便以后在json转换器中使用. 我什至不确定“简单类型"的名称是什么,但是可以这样定义...“一个代表低级变量类型的对象,它包含单个值,而不是类或任何具有可执行文件的对象功能等" 我发现int,string,bool,double和令人惊讶的枚举将对ToString()产生可预测 ..
发布时间:2020-07-12 05:14:51 其他开发

类型名称在namedtuple中的相关性

from collections import namedtuple Point = namedtuple('whatsmypurpose',['x','y']) p = Point(11,22) print(p) 输出: whatsmypurpose(x=11,y=22) 'whatsmypurpose'的意义/用途是什么? 解决方案 namedtuple()是tuple ..
发布时间:2020-07-12 05:14:47 其他开发

为什么不能在C ++中的类中重新定义类型名称?

根据《 C ++ Primer》一书,7.4.1类型名称是特殊的: 通常,内部作用域可以从外部作用域重新定义名称,即使该名称已经在内部作用域中使用过.但是,在类中,如果成员使用外部作用域中的名称并且该名称是类型,则该类随后可能不会重新定义该名称. 例如, typedef double Money; class Account { public: Money ..
发布时间:2020-07-12 05:14:42 其他开发

C ++获取模板中类型的名称

我正在编写一些模板类来解析某些文本数据文件,因此很可能大部分解析错误将归因于数据文件中的错误,而这些错误绝大部分不是由程序员编写的,因此需要一个很好的消息来说明为什么应用程序无法加载,例如像这样: 解析example.txt时出错. [MySectiom]键的值("notaninteger")不是有效的整数 我可以从传递给模板函数的参数以及类中的成员vars得出文件,段和键名,但是我不 ..
发布时间:2020-07-12 05:13:40 其他开发

具有依赖名称(类型名称)的部分专业化

我有以下简单的strinToTypeImpl函数,它将任何类型的字符串转换为模板类型.我担心的问题是编译器告诉我typename MyMatrix::Vector3的部分专业化的事实: 部分特化中未使用的模板参数T 我不能在专业化中使用从属名称吗? namespace details { template struct string ..
发布时间:2020-07-02 18:50:39 其他开发

类型名意外的结果

我从类型名中得到了一些意外的结果,并感到困惑.希望有人可以指出正确的方向. Private Sub T() Dim d As Word.Document Dim s As String Dim c As Collection Dim i As Long Dim o As Object Set d = ActiveDocument s ..
发布时间:2020-05-13 01:18:38 其他开发

C ++在编译时比较模板类型

我有一个模板类.由于模板是在编译时处理的,是否可以在编译时比较模板参数并使用预处理器添加特定代码?像这样: template class MyClass { public: void do() { #if T is equal to vector // add vector spec ..
发布时间:2020-05-05 09:06:30 其他开发

C ++模板typename迭代器

考虑以下头文件: template struct tNode { T Data; //此节点中包含的数据 list *>子节点; //此tNode下的tNodes指针列表 tNode(const T& theData) // PRE:theData初始化 // POST:this-> data = = theData和thi ..
发布时间:2018-11-15 21:17:35 其他开发

是否有可能获得泛型类型的类型名称?

我有一个方法签名 execute():Observable 我得到TResult类型的名称? 示例: execute - >“ViewModel”是我所需要的结果。 据我所知,不可能得到 TResult 的名字,但是如果你提供相应的构造函数,你可以得到这个名字。 $ b 声明: 执行(ct ..
发布时间:2018-04-21 20:21:21 其他开发

为什么在使用COM时,TypeName()从.GetType和TypeOf返回不同的结果?

我觉得我将从理解这些函数的工作方式的差异中受益匪浅,以便我更好地理解何时使用每个函数。 我遇到了一个非常困难的时期使用两个不同的互操作(Excel和EPDM),它们都大量使用弱类型的参数。我一直遇到问题使用返回的对象,并将它们转换为正确的类型(根据文档)。浪费了很多时间后,我发现使用 TypeName , GetType 和 TypeOf操作符与COM对象可以产生不同的结果,在不同的情况下每 ..
发布时间:2016-12-18 18:01:41 .NET组件控件