使用c ++的typedef矢量

时间:2014-04-09 15:45:07

标签: c++ vector

我正在使用dlib来实现一个算法,到目前为止,我正在使用单个内核做湖:

负责集群的班级:

template <
    typename kernel_type
    >
class kalog : public noncopyable
{
 public:
    kalog (
        const kernel_type& kernel_
    ):
       kernel(kernel_)
    {
    }
 private:
    kernel_type kernel;
}

主要:

typedef matrix<double,2,1> sample_type;
typedef radial_basis_kernel<sample_type> kernel_type;
kalog<kernel_type> my_kalog(kernel_type(0.1));

我想要的是处理多个内核,但那些内核可能不同(radial_basis_kernel,polynomial_kernel,...)

如何,我可以设法为我的班级提供不同类型内核的列表吗? 任何想法?

1 个答案:

答案 0 :(得分:0)

typedef radial_basis_kernel<sample_type> kernel_type;

然后

kernel_type kernel1;
kernel_type kernel2;
std::vector<kernel_type> kernels;
kernels.push_back(kernel1);
kernels.push_back(kernel2);

所以你有:

  • 类型
    • kernel_type作为radial_basis_kernel<sample_type>
    • 的typedef
    • std::vector<kernel_type>
  • 物件
      类型kernel1
    • kernel_type 类型kernel2
    • kernel_type 类型kernels
    • std::vector<kernel_type>