Here's the text from the book that I referred to
根据我在一本书中读到的内容(我附上了上面书中的文字图片),当流对象超出范围时,它与程序/文件或其他任何东西的连接关闭但它仍然存在在与其关联的缓冲区的内存中。 那么它什么时候从内存中删除呢?
感谢任何帮助!
谢谢!
最佳答案
你教科书的措辞很有误导性。
当一个对象超出范围时,它就会被销毁。当 stream 被销毁时,它的连接将被关闭,就好像您手动调用了 close()
函数一样。然后,释放与流关联的所有内存。
作者强调相反的情况不成立,即如果您调用流的close()
方法,您并没有破坏它,您只是关闭了它与它的联系。
关于c++ - 什么时候删除流对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33656683/