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

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

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

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

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

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

P. S. думаю нет, это же не динамическая память, или нет?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2014, 18:23     Не будет ли утечки памяти?
Посмотрите здесь:

подскажите пожалуйста, правильно ли сделанна конструкция, и не будет ли утечки памяти - C++
vector<int*> mas; int* buf; for(int i=0;i<10;i++) { buf=new int; mas.push_back(buf); } delete buf; for(int...

Утечки памяти - C++
Здравствуйте, уважаемые господа. Недавно заметил через диспетчер задач, что в моей программе присутствуют утечки памяти. Кол-во...

Утечки памяти и STL - C++
Имеется код: #include <map> #define _CRTDBG_MAP_ALLOC #include <stdlib.h> #include <crtdbg.h> using namespace...

Я создаю утечки памяти ! - C++
Нет, я не хочу похвастаться этим. Я любитель использовать быстрые решение для того чтобы реализовать алгоритм или проверить "чтобы...

Про утечки памяти - C++
Здравствуйте. Может кто-нибудь посоветовать статьи на тему борьбы с утечками памяти? Дело в том, что недавно начал писать на C++ с...

Определение утечки памяти - C++
Здравствуйте! Имеется такая ситуации: к проекту подключается lib файл и создается класс наследуемый класс определенный в либе. Подскажите...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Voivoid
674 / 277 / 12
Регистрация: 31.03.2013
Сообщений: 1,339
30.06.2014, 18:27     Не будет ли утечки памяти? #2
Все правильно
gromo
370 / 269 / 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
674 / 277 / 12
Регистрация: 31.03.2013
Сообщений: 1,339
30.06.2014, 19:30     Не будет ли утечки памяти? #4
Цитата Сообщение от gromo Посмотреть сообщение
?
И? Что сказать-то хотел? Что memset лучше? Нет, не лучше. С трудом представляю себе сценарии, когда без него было бы не обойтись. Я еще понимаю предложил бы std::string использовать
gromo
370 / 269 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
30.06.2014, 19:34     Не будет ли утечки памяти? #5
Цитата Сообщение от Voivoid Посмотреть сообщение
Что memset лучше? Нет, не лучше. С трудом представляю себе сценарии, когда без него было бы не обойтись.
А как же мусор, который останется в 255 ячейках? мало ли что

Добавлено через 1 минуту
Цитата Сообщение от Voivoid Посмотреть сообщение
Что сказать-то хотел?
Там после знака вопроса стоит цитата ТС, что ему нужно очистить массив символов, т.е. я так понимаю реально очистить
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
30.06.2014, 19:36     Не будет ли утечки памяти? #6
Цитата Сообщение от gromo Посмотреть сообщение
А как же мусор, который останется в 255 ячейках? мало ли что
компилятор может выкинуть вызов memset
ValeryS
Модератор
6550 / 5016 / 463
Регистрация: 14.02.2011
Сообщений: 16,722
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     Не будет ли утечки памяти?
Еще ссылки по теме:

Поиск утечки памяти - C++
Здравствуйте! Не могли бы вы помочь мне найти утечку памяти в программе? Весь день искал, все вроде бы удаляется, но 4 мб все равно...

утечки памяти - просто жесть - C++
analysis *SP; // объявляем классы SP = new analysis(Edit1->Text); //загружаем данные SP = new analysis(Edit2->Text); //загружаем данные...

Объяснить причины и способы устранения утечки памяти в деструкторе - C++
Почему если убрать коммент с деструктора, что закомментирован выбивает ошибка: "утечка памяти"? #include "cow.h" int main() { Cow...

Утечки памяти при использовании new/delete для двумерных массивов - C++
Добрый день. Суть в том, что есть несколько функций, получающих на вход и возвращающих двумерные массивы. Реализация передачи массивов...


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

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

Не по теме:

ValeryS,
в пух и прах

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

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