c++ - 调用运算符和默认构造函数
阿神
阿神 2017-04-17 14:58:39
0
2
680

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

阿神
阿神

闭关修行中......

모든 응답(2)
迷茫

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

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

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

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿