Ternick
@Ternick

Как решить вопрос с утечкой памяти?

Суть вопроса в том, какие есть варианты избежать утечек памяти.
Как пример, вот реализация xor с утечкой памяти:
ТЫК
wchar_t* xorCipher(const wchar_t* toEncrypt) {
	HANDLE hHeap = GetProcessHeap();
	if (hHeap != NULL) {
		const int size = _wcslen(toEncrypt);
		wchar_t* result = (wchar_t*)HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(wchar_t) * size);
		if (result != NULL) {
			for (int i = 0; i != _wcslen(toEncrypt) + 1; i++) {
				result[i] = toEncrypt[i] ^ (wchar_t)key;
			}
		}
		return result;
	}
}

Проблема в том, что нам нужно отдать указателя на массив символов, я знаю, что так в целом не правильно и всё остальное, интересуют варианты решения, данного вопроса.

P.S. wstring и многое другое использовать не вариант из-за NODEFAULTLIB. Первое что пришло на ум это написать класс, обёртку над wchar__t*, есть ли ещё варианты ?
  • Вопрос задан
  • 79 просмотров
Пригласить эксперта
Ответы на вопрос 2
gbg
@gbg Куратор тега C++
Любые ответы на любые вопросы
Почитайте про умные указатели
Ответ написан
Комментировать
6db
@6db
Присоединяюсь к комментарию выше
#include <memory>
shared_ptr
unique_ptr
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы