简体   繁体   English

使用C ++的typedef向量

[英]Vector of typedef using c++

I'm using dlib to implement an algorithm, so far I was using a single kernel doing lake this: 我正在使用dlib来实现算法,到目前为止,我正在使用单个内核来执行以下操作:

The class in charge of the clustering: 负责聚类的类:

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

The main: 主要的:

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

What I would like is to handle multiple kernel, but those ones could be different (radial_basis_kernel, polynomial_kernel, ...) 我想要处理多个内核,但是那些内核可能有所不同(radial_basis_kernel,polynomial_kernel等)

How, can I manage to provide my class a list of different type of kernel? 如何才能为类提供一系列不同类型的内核的清单? any idea? 任何想法?

Keep 保持

typedef radial_basis_kernel<sample_type> kernel_type;

and then 接着

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

So you have: 所以你有了:

  • Types 种类
    • kernel_type as a typedef of radial_basis_kernel<sample_type> kernel_type作为radial_basis_kernel<sample_type>的typedef
    • std::vector<kernel_type>
  • Objects 对象
    • kernel1 of type kernel_type kernel1kernel_type
    • kernel2 of type kernel_type kernel2kernel_type
    • kernels of type std::vector<kernel_type> std::vector<kernel_type>类型的kernels

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM