Следует ли динамически выделять экземпляры членов класса и переменные локального метода? ⇐ C++
Следует ли динамически выделять экземпляры членов класса и переменные локального метода?
Я новичок в C++ и все еще пытаюсь понять статическую и динамическую память и когда использовать каждую из них... Я работал над программой и написал это:
класс WadFile { частный: std::vector куски; публика: std::vector данные; интервал num_lumps; интервал поз; тип символа[5]; Lump *GetLumpName(const char *name); WadFile(std::ifstream *stream); ~ВадФайл(); } Однако количество WadFile не определено, пользователь может открыть столько, сколько пожелает одновременно; Я предполагаю, что lumps вместо этого должен быть указателем на новый std::vector, который создается в конструкторе и удаляется в деструкторе... я прав? Анализируя это дальше, я кое-что понял:
void WadReader::Open(const char *wadname) { std::ifstream поток( вадимя, std::ios::binary | std::ios::ate); файл = новый WadFile(&stream); } Предполагая, что на каждый WadFile имеется один WadReader, что станет с std::ifstream? У метода может быть много экземпляров, содержащих ifstream; должно ли это также быть динамически выделено?
Я новичок в C++ и все еще пытаюсь понять статическую и динамическую память и когда использовать каждую из них... Я работал над программой и написал это:
класс WadFile { частный: std::vector куски; публика: std::vector данные; интервал num_lumps; интервал поз; тип символа[5]; Lump *GetLumpName(const char *name); WadFile(std::ifstream *stream); ~ВадФайл(); } Однако количество WadFile не определено, пользователь может открыть столько, сколько пожелает одновременно; Я предполагаю, что lumps вместо этого должен быть указателем на новый std::vector, который создается в конструкторе и удаляется в деструкторе... я прав? Анализируя это дальше, я кое-что понял:
void WadReader::Open(const char *wadname) { std::ifstream поток( вадимя, std::ios::binary | std::ios::ate); файл = новый WadFile(&stream); } Предполагая, что на каждый WadFile имеется один WadReader, что станет с std::ifstream? У метода может быть много экземпляров, содержащих ifstream; должно ли это также быть динамически выделено?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение