相关疑难解决方法(0)

如何隐藏实现助手模板?

假设我在头文件中声明了两个模板函数:

template <typename T> void func1(const T& value);
template <typename T> void func2(const T& value);
Run Code Online (Sandbox Code Playgroud)

并且假设这些函数的实现(也在头文件而不是源文件中,因为它们是模板)使用一些实现辅助函数,它也是一个模板:

template <typename T> void helper(const T& value) {
    // ...
}

template <typename T> void func1(const T& value) {
    // ...
    helper(value);
}

template <typename T> void func2(const T& value) {
    // ...
    helper(value);
}
Run Code Online (Sandbox Code Playgroud)

在我包含头文件的任何源文件中,辅助函数都是可见的.我不希望这样,因为辅助函数只是一个实现细节.有没有办法隐藏辅助功能?

c++ templates

18
推荐指数
3
解决办法
8032
查看次数

标签 统计

c++ ×1

templates ×1