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

Выделение динамической памяти C++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Минимальная версия shell. fork-exec. freebsd http://www.cyberforum.ru/cpp-beginners/thread710416.html
Доброго времени суток! Написал прогу, минимальная версия шелла. После запуска принимает строку аргументов, а затем выполняет ее. После разбора аргументов строки выполняется связка fork-exec....
C++ Сортировка вектора, после добавление элементов Доброго. Есть класс массив. После каждого добавления элемента он должен сортировать элементы по возрастанию. Вот упрощенный пример: class IntArray { public: IntArray() {} IntArray(int... http://www.cyberforum.ru/cpp-beginners/thread710411.html
C++ Одномерный массив: Вывести на экран номера всех элементов больше заданного числа
помогите пожалуйста разобраться с задачкой,знаю что примитивная и простая,но никак не могу сообразить как вывести номера элементов(( Вывести на экран номера всех элементов больше заданного числа
где можно скачать Билдер СИ++ 5.02? C++
дайте ссылку...сутки ищу...
C++ Подсчет количества слов http://www.cyberforum.ru/cpp-beginners/thread710383.html
С клавиатуры вводится строка. Составить программу, которая подсчитывает количество слов, имеющих нечетную длину; вводит на экран частоту вхождения каждой буквы; удаляет текст, который размещен в...
C++ Вычислить номер элемента массива, ближайшего к средне арифметичного его значений В одномерном массиве, состоящем из N целых элементов, вычислить: • Номер элемента массива, ближайшего к средне арефметичного его значений; • Сумма элементов массива, расположенных между первым... подробнее

Показать сообщение отдельно
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,925
Записей в блоге: 1
27.11.2012, 04:21
всё просто. у тебя только два из 3х конструкторов предназначены для работы с дин. выделением памяти.
Выбирая пункт 3, память не выделяется new. Это как бы нормально, не хочешь как хочешь,
но вот в конце обязательно вызовется деструктор, и попытается удалить string, которая даже не была выделена, ведь мы создали объект с помощью другого конструктора.
Затычка: добавить проверку на валидность указателя в деструкторе, обнулять указатель в конструкторе, если new не использовался.
C++
1
2
3
4
5
6
7
8
9
    String(const char * s)
    {
          string=NULL;
          strncpy(ss, s, 256);
    }
    ~String()
    {
        if (string) delete [] string;
            }
За
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru