在C++中自动选择模板的typename

Elg*_*ath 0 c++ templates

我在一个小组工作,我必须提供一个class template稍后将组成这样的其他类:

template <typename type>
class foo{
};

class bar{
    foo<bar> a;
};
Run Code Online (Sandbox Code Playgroud)

template的类型将是始终较高class.

class foobar{
    foo<foobar> a;
};
Run Code Online (Sandbox Code Playgroud)

有没有办法自动/绑定它,以便同事不需要总是写typename

bol*_*lov 7

有没有办法自动化/绑定它,以便同事不需要总是写类型名?

实际答案

没有

迂腐的答案

是的,可能有一些宏.但你真的不应该.

"所以我该怎么做?"

没有

"为什么?"

遵循"代码写一次,但多次阅读"的口头禅.所以让他们写出模板参数.它的不便之处在于它的清晰度远远大于宏的成本.

"好的,好吧,我只是希望有办法"

我也一样.实际上已经做了一些工作来为C++带来反思,这应该解决这个问题(我希望,我实际上并不知道这两个当前提案中是否有可能).