给定从向量中获取的变量,是否有一种方法来识别类型.
请注意,我已经知道成员的类型,并可以在模板调用中指定它.这是一个特定的向量,允许特定类型的变量的push_back().
例如,我们有一个允许向量操作的类.
auto data = member().back(); // gets the last entry in the member vector
Run Code Online (Sandbox Code Playgroud)
使用模板,我想创建一个类型的新条目
dataType newdata;
member().push_back(newdata)
Run Code Online (Sandbox Code Playgroud)
在给出back()操作的结果的情况下,有没有办法识别dataType是什么?如果有,我可以创建一个模板,并通过传入成员指标来检索类型.
如果没有,我将不得不专门传递类型以便定义
::base::dataArea newdata;
Run Code Online (Sandbox Code Playgroud)
typename std::remove_reference<decltype( member().back() )>::type如果你真的想要聪明,你可以使用.但你应该使用typename V::value_type,V通过访问的向量的类型member.请参阅例如cppreference上的文档:查阅相关文档通常是个好主意.
| 归档时间: |
|
| 查看次数: |
4549 次 |
| 最近记录: |