c++ - 类名之后直接跟()是什么意思?

浏览:27日期:2023-06-01

问题描述

一道题目的答案程序如下,我不明白main()中的第一句话Foo()是什么意思:

#include <vector>#include <iostream>#include <algorithm>using std::vector; using std::sort;class Foo {public: Foo sorted() && ; Foo sorted() const &;private: vector<int> data;};Foo Foo::sorted() && { sort(data.begin(), data.end()); std::cout << '&&' << std::endl; // debug return *this;}Foo Foo::sorted() const & {Foo ret(*this);sort(ret.data.begin(), ret.data.end());return ret; std::cout << 'const &' << std::endl; // debug // Foo ret(*this); // ret.sorted(); // Exercise 13.56 // return ret; return Foo(*this).sorted(); // Exercise 13.57}int main(){ Foo().sorted(); Foo f; f.sorted(); // call 'const &'}

问题解答

回答1:

这是类的构造函数吧

相关文章: