如何在使用地图构造函数时调用函数?

时间:2011-10-15 18:54:01

标签: c++

我在here找到了此代码。编译器如何知道使用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 );

1 个答案:

答案 0 :(得分:1)

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