gpt4 book ai didi

c++ - 如何直接调用类静态函数

转载 作者:行者123 更新时间:2023-11-28 05:13:38 24 4
gpt4 key购买 nike


假设我有这样的东西:

Header.h:

namespace detail {

template <typename T>
class HiddenClass {

/* Bunch of things... */

template <typename ...ArgList>
static HiddenClass<T> & function (const ArgList & ... argTail) {
// Do something...
}
}
}

我想调用detail::HiddenClass<T>::function(***);但正如您所看到的,这很荒谬。更不用说这个功能应该是用户干扰的一部分。我不能指望我的代码的“用户”写出 detail::HiddenClass<T>::function(***);每当他\她想调用function(***);

我试过了:

template <typename T>
using detail::HiddenClass<T>::function;

还有其他类似的方法,但我惨遭失败......

任何人都可以提供帮助吗?提点建议

最佳答案

您可以提供一个宏来简化调用语法:

#define MY_FUNCTION(Type, Arg) detail::HiddenClass<Type>::function(Arg)

那么,从全局命名空间中使用它会更短,并且不需要using:

HiddenClass<SomeType>& rc = MY_FUNCTION(SomeType, argTail);

关于c++ - 如何直接调用类静态函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43088860/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com