关于符号()
,它不是用在类名后面作用是调用默认构造函数,用在类的对象后边作用是函数调用运算符嘛。
但是在书里边有这样一行代码sort(svec.begin(),svec.end(),greater<string>());
为嘛说它是调用给定的greater函数对象呢?
天蓬老师2017-04-17 15:00:39
greater는 내부적으로 Operator()를 오버로드하는 클래스 템플릿입니다. 또한 함수 개체는 다음과 같이 정의됩니다. 함수 개체는 연산자() 멤버가 정의된 클래스의 인스턴스입니다. 이 멤버 함수를 사용하면 함수 호출과 동일한 구문으로 개체를 사용할 수 있습니다. 물체. Greater<string>()은 기본 생성자를 호출하여 임시 객체를 생성합니다.