Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/136.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 丰富的CTAG排除了非越轨构造函数C++;_C++_Exuberant Ctags - Fatal编程技术网

C++ 丰富的CTAG排除了非越轨构造函数C++;

C++ 丰富的CTAG排除了非越轨构造函数C++;,c++,exuberant-ctags,C++,Exuberant Ctags,当我试图导航到类的定义时,有一个唯一的ctags条目非常方便。构造函数共享类的名称,并导致创建额外的ctags条目,这使得导航更加困难。例如,在Vim中,g将导航到ctag,如果有单个条目,则不会提示,但在其他情况下将强制用户手动消除歧义 我不想错过可能隐藏在某个地方的越界构造函数,但是我可以接受在主类的主体中缺少构造函数(即使主体本身相当大) 文件foo.cpp中有一个类模板 template <typename T> class LinkedList { public: T

当我试图导航到类的定义时,有一个唯一的ctags条目非常方便。构造函数共享类的名称,并导致创建额外的ctags条目,这使得导航更加困难。例如,在Vim中,
g
将导航到ctag,如果有单个条目,则不会提示,但在其他情况下将强制用户手动消除歧义

我不想错过可能隐藏在某个地方的越界构造函数,但是我可以接受在主类的主体中缺少构造函数(即使主体本身相当大)

文件
foo.cpp
中有一个类模板

template <typename T> class LinkedList {
public:
  T head;
  LinkedList<T> *tail;

  LinkedList(T item) : head(head), tail(nullptr) {}
};
条目
LinkedList foo.cpp/^LinkedList(T项)。。。f类:LinkedList
没有那么有趣

编写一个脚本来解析CTAG的输出并排除看起来像非越界构造函数的东西,或者应用某种启发式,这将是相当简单的。。。我想知道是否有更通用/传统/可接受的解决方案用于分离ctags输出

LinkedList  foo.cpp /^  LinkedList(T item) : head(head), tail(nullptr) {}$/;"   f   class:LinkedList
LinkedList  foo.cpp /^template <typename T> class LinkedList {$/;"  c   file:
head    foo.cpp /^  T head;$/;" m   class:LinkedList    file:
tail    foo.cpp /^  LinkedList<T> *tail;$/;"    m   class:LinkedList    file: