如何在使用映射构造函数时调用函数

How to call a function when using a map constructor?

本文关键字:构造函数 调用 函数 映射      更新时间:2023-10-16

我在这里找到了这段代码。编译器如何知道使用classcomp中定义的函数?

结构/功能

struct classcomp 
  {
  bool operator() (const char& lhs, const char& rhs) const
    {
    return lhs<rhs;
    }
  };

地图建设

  map<char,int,classcomp> fourthm;

构造函数原型:

explicit map ( const Compare& comp = Compare(),const Allocator& = Allocator() );
template <class InputIterator> map ( InputIterator first, InputIterator last,const Compare& comp = Compare(), const Allocator& = Allocator() );
map ( const map<Key,T,Compare,Allocator>& x );

它使用classcomp类的默认构造函数,因此您得到一个定义了operator()并像函数一样工作的对象。