Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
xSCJx
22 / 19 / 1
Регистрация: 24.12.2012
Сообщений: 435
#1

Не будет ли утечки памяти? - C++

30.06.2014, 18:23. Просмотров 265. Ответов 7
Метки нет (Все метки)

Привет. Мне нужно очистить строку (массив символов)
C++
1
char str[256];
делаю так
C++
1
str[0] = '\0';
не будет ли это утечкой?

P. S. думаю нет, это же не динамическая память, или нет?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Voivoid
 Аватар для Voivoid
594 / 270 / 12
Регистрация: 31.03.2013
Сообщений: 1,330
30.06.2014, 18:27     Не будет ли утечки памяти? #2
Все правильно
gromo
 Аватар для gromo
367 / 266 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
30.06.2014, 19:22     Не будет ли утечки памяти? #3
Цитата Сообщение от Voivoid Посмотреть сообщение
Все правильно
?
Цитата Сообщение от xSCJx Посмотреть сообщение
Мне нужно очистить строку (массив символов)
C
1
memset(str, '\0', sizeof(str));
Цитата Сообщение от xSCJx Посмотреть сообщение
не будет ли это утечкой?
P. S. думаю нет, это же не динамическая память, или нет?
Правильно думаете, утечки не будет, но все же лучше memset()
Voivoid
 Аватар для Voivoid
594 / 270 / 12
Регистрация: 31.03.2013
Сообщений: 1,330
30.06.2014, 19:30     Не будет ли утечки памяти? #4
Цитата Сообщение от gromo Посмотреть сообщение
?
И? Что сказать-то хотел? Что memset лучше? Нет, не лучше. С трудом представляю себе сценарии, когда без него было бы не обойтись. Я еще понимаю предложил бы std::string использовать
gromo
 Аватар для gromo
367 / 266 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
30.06.2014, 19:34     Не будет ли утечки памяти? #5
Цитата Сообщение от Voivoid Посмотреть сообщение
Что memset лучше? Нет, не лучше. С трудом представляю себе сценарии, когда без него было бы не обойтись.
А как же мусор, который останется в 255 ячейках? мало ли что

Добавлено через 1 минуту
Цитата Сообщение от Voivoid Посмотреть сообщение
Что сказать-то хотел?
Там после знака вопроса стоит цитата ТС, что ему нужно очистить массив символов, т.е. я так понимаю реально очистить
Jupiter
Каратель
Эксперт C++
6548 / 3968 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
30.06.2014, 19:36     Не будет ли утечки памяти? #6
Цитата Сообщение от gromo Посмотреть сообщение
А как же мусор, который останется в 255 ячейках? мало ли что
компилятор может выкинуть вызов memset
ValeryS
Модератор
6451 / 4917 / 451
Регистрация: 14.02.2011
Сообщений: 16,308
30.06.2014, 19:44     Не будет ли утечки памяти? #7
Цитата Сообщение от gromo Посмотреть сообщение
Там после знака вопроса стоит цитата ТС, что ему нужно очистить массив символов,
ему нужно очистить строку
Цитата Сообщение от xSCJx Посмотреть сообщение
Мне нужно очистить строку
а строка это не массив символов, а массив символов с завершающим 0 в конце
так что 0 это и есть конец строки, дальше зачищать бесполезно,и даже вредно
расходование процессорного времени на бесполезное присвоение
представь str на пару мегабайт
Цитата Сообщение от gromo Посмотреть сообщение
А как же мусор, который останется в 255 ячейках?
да и пес с ним
Цитата Сообщение от gromo Посмотреть сообщение
мало ли что
а чтобы не было "мало ли что" нужно правильно спроектировать программу, а если коряво спроектировано то и memset не спасет

Добавлено через 1 минуту
Цитата Сообщение от Jupiter Посмотреть сообщение
компилятор может выкинуть вызов memset
а может не выкинуть
а время то идет
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.06.2014, 19:46     Не будет ли утечки памяти?
Еще ссылки по теме:

Если выделение памяти для динамического массива задать void-функцией, можно ли будет оперировать с ним в main? C++
C++ Утечки памяти при использовании new/delete для двумерных массивов
Определение утечки памяти C++
C++ Объяснить причины и способы устранения утечки памяти в деструкторе
Поиск утечки памяти C++

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

Или воспользуйтесь поиском по форуму:
gromo
30.06.2014, 19:46     Не будет ли утечки памяти?
  #8

Не по теме:

ValeryS,
в пух и прах

Yandex
Объявления
30.06.2014, 19:46     Не будет ли утечки памяти?
Ответ Создать тему
Опции темы

Текущее время: 01:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru