c++如何从函数正确返回对象

标签 c++ object set

我正在编写一个程序来处理集合的不同操作,我得到的一些函数应该返回对象。 SoS 是在头文件中声明的对象,具有数据成员 m_vos(字符串 vector )和 bool 值。在我正在创建新对象和新集合的函数中。如何将集合与对象联系起来?

这是我的:

SoS SoS::makeIntersection(const SoS& B) const {
    SoS intersection;
    vector<string> set1;
    vector<string> set2;
    vector<string> set3;

    set1 = this->m_vos;
    set2 = B.m_vos;

    //int totalElements;
    //totalElements = (set1.size() + set2.size());

    sort(set1.begin(), set1.end());
    sort(set2.begin(), set2.end());
    set_intersection(set1.begin(),set1.end(),set2.begin(),set2.end(),back_inserter(set3));

    return intersection;
}

最佳答案

完全放弃 set3 并将交集直接构建到对象中:

set_intersection(set1.begin(), 
                 set1.end(), 
                 set2.begin(), 
                 set2.end(), 
                 back_inserter(intersection.m_vos));

关于c++如何从函数正确返回对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33159096/

相关文章:

c++ - 我是否也仅在函数头或声明中指定异常类型? (C++)

javascript - 创建一系列独特的组合

Java 集合排序

swift - 使用 Swift 中对象的自定义 setter 方法设置依赖属性变量

python - 查找不能被 x 到 y 整除的 a 到 b 的数字

c++ - 在具有运行时参数和编译时参数的类之间共享代码

c++ - 无法从 C 代码调用 C++ 函数

c++ - 注入(inject)的 DLL 不能使用 Symbols pdb,除非它与构建在同一目录中

javascript - 在 javascript 中使用值返回所有深度对象的嵌套键的好方法

class - Python 3.4 - 如何为多个类创建模板属性