Using typename的理解

  • Post author:
  • Post category:其他


我们经常在写一个子类去继承另一个父类的时候,会看到有人使用

using functionname= typename namespace::classname<template>::classfunctionname;
using InputKdTree=typename pcl::Registration<PointSource,PointTarget>::KdTree;

using的作用:

当你想要去调用继承类中的已经写好的成员函数的时候,可以使用using给这个函数在你的子函数中取一个简单的别名。

或者你想调用父类中保护的成员对象,你就可以直接使用using调用。

也就等于在你的子类中直接写了个一模一样的对象。

父类:
protected:
int a_;
子类:
using int a_;
a_=100;

typename的作用:

在你调用一个模板类的函数的时候需要在这个被调用的模板类前加一个typename声明这是一个模板类。在C++20以前就是这样的规则。



版权声明:本文为guanxunmeng8928原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。