Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Prolific
0 / 0 / 2
Регистрация: 29.11.2015
Сообщений: 44
1

Очищать ли память?

31.10.2016, 14:30. Просмотров 833. Ответов 3
Метки нет (Все метки)

Всем привет. Начал изучать С++ и возник такой вопрос. Есть стандартный класс string, например я создал строку:
C++
1
string a = "abcd";
Потом я захотел ее полностью переписать, но заполнить посимвольно. Правильно ли будет работать такая штука:
C++
1
a = "\0";
Или я просто определю границу, а "bcd" останется где-то висеть мусором?
Грубо говоря вопрос такой: как очистить строку класса string?
Заранее спасибо.
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2016, 14:30
Ответы с готовыми решениями:

Класс list, когда нужно очищать память?
не могу разобраться когда нужно очищать память "delete input_" и почему каждый раз выделяя помять...

Нужно ли очищать память, выделенную под вектор?
Доброго времени суток. При работе с динамическими массивами всегда чистил память оператором delete....

Зачем очищать поток cout?
Всем привет! Не могу понять, зачем очищать поток cout после вывода? Все, что выудил из гугла,...

Как правильно очищать вектор указателей
Привет Всем! Есть вопрос по вектору указателей, как правильно очищать память при таком случае...

Как сделать функцию, которая будет очищать экран и возвращать пользователя к главному меню?
Как сделать функцию, которая будет очищать экран и возвращать пользователя в главное меню...

3
Nishen
669 / 433 / 222
Регистрация: 26.02.2015
Сообщений: 1,995
Завершенные тесты: 3
31.10.2016, 14:34 2
Лучший ответ Сообщение было отмечено Prolific как решение

Решение

http://www.cplusplus.com/reference/string/string/clear/
1
Байт
Эксперт C
21305 / 13469 / 2839
Регистрация: 24.12.2010
Сообщений: 28,568
31.10.2016, 14:36 3
Цитата Сообщение от Prolific Посмотреть сообщение
Грубо говоря вопрос такой: как очистить строку класса string?
Как только вы выйдете из функции, все очистится.
1
Prolific
0 / 0 / 2
Регистрация: 29.11.2015
Сообщений: 44
31.10.2016, 14:41  [ТС] 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
class binary
{
private:
    string value;
public:
    binary()
    { }
    binary(string str) : value(str)
    { }
    binary(unsigned int num)//преобразование в двоичный код
    { 
        value.clear();
        while (num)
        {
            value.insert(0, num % 2 ? "1" : "0");//вставляем строку "1" || "0" в начало строки value
            num /= 2;
        }
    }
    operator int()//преобразование в десятичный код
    {
        int num = 0, exp = 0;
        for (int i = value.length() - 1; i >= 0; --i, ++exp)
        {
            if(value[i] == 49) num += pow(2, exp);
        }
        return num;
    }
    void show()
    {
        cout << value << endl;
    }
};
Вот в таком контексте использую, нормально?
0
31.10.2016, 14:41
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.10.2016, 14:41

Стоит ли очищать в деструкторе std::map , std::vecotor?
У меня ещё один нубский вопрос :) Вот если в классе объявлены мапы и вектора, которые по ходу...

Как правильно очищать память?
Как правильно очищать память? char *filePath; // инициализируется в другом участке кода. ...

QThread как очищать память при завершении работы потока?
В моей минипрограммке используется класс наследованный от QThread. Этот объект в качестве полей...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.