小编Izo*_*eak的帖子

在文本文件C++上返回一行

我的程序使用以下方法从文本文件中读取一行:

std::ifstream myReadFile("route.txt");
getline(myReadFile, line)
Run Code Online (Sandbox Code Playgroud)

如果它找到我正在寻找的东西(标签),它会将该行存储在临时字符串中.我不想继续这个,直到我找到一些其他标签,如果我找到另一个标签,我希望能够返回到前一行,以便程序读取再次作为其他标签,并做其他事情.

我一直在看putback()和unget()我很困惑如何使用它们,如果它们可能是正确的答案.

c++ file getline

7
推荐指数
1
解决办法
1万
查看次数

函数返回一个指向对象的指针,在这种情况下我该返回什么?

如果你有一个通过查找数组中具有特定属性的对象返回指向对象的指针的函数,如果我在数组中找不到相应的对象,应该返回什么?而且,如果做得不好,这是否会对计划的安全性或稳定性造成风险?

c++ pointers return

3
推荐指数
2
解决办法
110
查看次数

为什么会这样?operator =和复制构造函数

我有以下课程:

class CRectangle
{
    CRectangle(string color);
    CRectangle(CRectangle &origin);
    /* Some more code */
};
Run Code Online (Sandbox Code Playgroud)

而这个:

class CPlane
{
    /* Some more code */
    CRectangle boundingBox();
};
Run Code Online (Sandbox Code Playgroud)

为什么我能做到这一点?:

CRectangle rectangle1;
CRectangle rectangle2=rectangle1;
CRectangle rectangle3(rectangle1); //Copy constructor.
Run Code Online (Sandbox Code Playgroud)

但我不能这样做:

CPlane plane;
CRectangle rectangle4=plane.boundingBox();
CRectangle rectangle5(plane.boundingBox()); //Copy constructor.
Run Code Online (Sandbox Code Playgroud)

如果我需要最后一项工作,我怎么能这样做?我想也许它与运营商有关=但我不确切知道.

编辑:修复复制构造函数.错误仍然存​​在.

c++ constructor operator-overloading

3
推荐指数
1
解决办法
105
查看次数