찾다

 >  Q&A  >  본문

c++ - 调用运算符和默认构造函数

关于符号(),它不是用在类名后面作用是调用默认构造函数,用在类的对象后边作用是函数调用运算符嘛。
但是在书里边有这样一行代码sort(svec.begin(),svec.end(),greater<string>());为嘛说它是调用给定的greater函数对象呢?

阿神阿神2818일 전665

모든 응답(2)나는 대답할 것이다

  • 迷茫

    迷茫2017-04-17 15:00:39

    greater<string>()가 기본 생성자 를 호출하여 생성된

    함수 객체를 반환한다는 의미입니다.

    회신하다
    0
  • 天蓬老师

    天蓬老师2017-04-17 15:00:39

    greater는 내부적으로 Operator()를 오버로드하는 클래스 템플릿입니다. 또한 함수 개체는 다음과 같이 정의됩니다. 함수 개체는 연산자() 멤버가 정의된 클래스의 인스턴스입니다. 이 멤버 함수를 사용하면 함수 호출과 동일한 구문으로 개체를 사용할 수 있습니다. 물체. Greater<string>()은 기본 생성자를 호출하여 임시 객체를 생성합니다.

    회신하다
    0
  • 취소회신하다