使用c++的typedef的矢量

Vector of typedef using c++

本文关键字:typedef 使用 c++      更新时间:2023-10-16

我正在使用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_basic_kernel、polynomial_kernel…)

我如何才能设法为我的类提供不同类型内核的列表?知道吗?

保持

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>
  • 对象
    • kernel_typekernel1
    • kernel_typekernel2
    • std::vector<kernel_type>kernels