作业的一部分任务是加载两个文本文件并使用动态分配的字符数组将它们的内容保存在一个类中。 这是我的课。我可以改进什么?
Content.hpp
class Content
{
public:
Content(char* pContent);
~Content();
char* getContent();
private:
char* data;
};
内容.cpp
#include <cstring>
#include "Content.h"
using namespace std;
Content::Content(char* pContent){
data = new char[sizeof pContent];
strcpy(data, pContent);
}
Content::~Content(){
delete[] data;
}
char* Content::getContent(){
return data;
}
最佳答案
如果您要存储字符串(看起来是这样),您应该将 sizeof pContent
替换为 strlen(pContent) + 1
。这是因为在 C 和 C++ 中,字符数组将退化为指针,它们没有长度。
关于c++ - 在动态分配的 char 数组中保存文件内容的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10521715/