c++ - 类名之后直接跟()是什么意思?
PHP中文网
PHP中文网 2017-04-17 13:01:50
[C++讨论组]

一道题目的答案程序如下,我不明白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 &"
}
PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(1)
怪我咯

这是类的构造函数吧

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号