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

delete[] статической памяти - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Морской бой http://www.cyberforum.ru/cpp-beginners/thread868908.html
Нужна игра Морской бой. Месяц провалялся в больнице, ничего не выучил, а курсач горит. Надеюсь на ваше понимание:)
C++ Ссылка на неразрешенный внешний символ Приветствую. Проблема - при компиляции появляется ошибка вида: error LNK2019: ссылка на неразрешенный внешний символ "int __cdecl std::main(void)" (?main@std@@YAHXZ) в функции "unsigned long __stdcall std::StartMain(void *)" (?StartMain@std@@YGKPAX@Z) void CALLBACK resize (int width,int height) //инициализация функции вызываемой при изменении размеров окна {glViewport (0,0,width, height); ... http://www.cyberforum.ru/cpp-beginners/thread868889.html
Нужно рассчитать квартплату для домов C++
Дано 2 класса - класс домов и класс улиц. Класс улиц является контейнерным (массив). Мне надо добавить расчет квартплаты для каждого дома на улице (или для всех домов на улице) в основную функцию.. Т.е. Сначала выбираем улицу затем выбираем дом из предложенных (или только улицу) и расчитываем.. Не получается это реализовать Главная функция: #include "stdafx.h" #include "Home.h" #include...
подскажите пожалста где ошибка , проверел вручную не сходитса, T0 (x) =1; T1(x) = x; Tn (x) = 2x *T(n-1)(x) -T(n-2) (x) C++
#include<iostream> #include<fstream> using namespace std; double a=2.0,b=-1.0; double*p,*q; void null_ar(double*a,int n) {for(int i=0;i<n;a=0);} void main() { int n;cout<<"n=";cin>>n;
C++ .h и .cpp файлы, бредовые ошибки после разбиения класса http://www.cyberforum.ru/cpp-beginners/thread868867.html
Какая то проблема со string Во всех функциях в файле реализации одна ошибка: Несоответствие списка аргументов, отсутствуют экземпляры В чем хотя бы ошибка? В коде или что то с компилятором? Может неправильно инклуды написал? class Material { public: string name; unsigned count; double price_one,
C++ Не копируется структура C++ (по введеному номеру телефона удалить информацию из файла) Рабочий код: Структура в заголовочном файле: struct contact{ int ID; std::string Name; std::string Surname; std::string Midlename; int IDgroup; birthday Birthday; int age; подробнее

Показать сообщение отдельно
faridenco
0 / 0 / 0
Регистрация: 08.02.2013
Сообщений: 26
20.05.2013, 20:39  [ТС]     delete[] статической памяти
Цитата Сообщение от Toshkarik Посмотреть сообщение
Держите свои эмоции при себе, не переходите на личности.
Не ответили на вопрос потому что ответ на него есть в любой более или менее приличной книге по C++ для начинающих. В частности говорится о том, что память под статические объекты выделяется при запуске программы, и освобождается при ее завершении, никакие delete ее не освободят.
http://en.wikipedia.org/wiki/Data_segment


Добавлено через 2 минуты

Смотря что подразумевать под ошибкой. Данный код ошибочен, так как это чистый UB, он не соответствует стандарту. Не нужно рассчитывать в этом случае на компилятор, в следующей версии поведение может кардинально измениться.
Я прекрасно осведомлен как устроена память, как она выделяется и освобождается. Я знаю, что delete[] не освобождает статическую и автоматическую память. Вопрос мой совсем был не об этом. Перечитай мои сообщения.

Добавлено через 9 минут
Цитата Сообщение от Убежденный Посмотреть сообщение
Попробуйте, например, вызвать "operator delete []" на адресе
какой-нибудь статической или глобальной переменной.
Скорее всего, получите разрушение кучи (heap corruption).
Я еще в первом посте написал, что в реализациях от Micrsoft я такого не замечал. Я указал свой компилятор. Что мне пробовать, когда я так везде пишу на своем компиляторе, еще ни одна программа не вылетала. Падала только при запуске на эмуляторе, в 64-х битной винде (32-х битная программа). Впроем и о этом я уже писал.

Добавлено через 7 минут
Стандартом это квалифицируется, как неопределенное поведение (undefined behavior, UB).
Это означает, что стандартом поведение не определено, а не то что поведение программы непредсказуемо ). Это означает, что разработчик компилятор сам решает как обработать эту ситуацию. То есть все зависит от реализации.
Вот пример я уже привел. В реализации от Microsoft ничего не делается. Куча повреждается если пишешь в динамическую память по адресу, не выделенному оператором new.
 
Текущее время: 14:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru