Господа шарящие, расскажите тупому плиз. Я пытаюсь создать матрицу элементов double (статически) размером [x*x][x*x]. Когда x > 31 прога сегфолтается. Я не понимаю почему. Вроде 31 в четвертой степени (примерно миллион) даблов должен занять примерно 8 мб памяти. Не так что бы и много. Или дело не в памяти?
прошу не бить меня. я не программист. приходится программировать в связи с научными интересами моего руководителя.
ну понятно, в первом случае удаляется 10 объектов, во втором один. Насколько я помню, во втором случае поведение вообще не определено. Так что ты хотел сказать ? :)
>> Какая разница как он вызывает delete
> На этот я тебе ответил надеюсь ты понял?
Только вопрос был другой. Меня не интересовал вопрос, который ты процитировал, меня интересовал вопрос, который я задал:
> Какая разница как он вызывает delete и вызывает ли он его вообще, если программа закончила свое выполнение?
Я один вижу тут разницу?
На счет привыкать. Я вообще не касался этого момента. Ты можешь мне просто ответить на те вопросы, которые я задал в 2х предыдущих своих сообщениях:
> И это, ты хочешь сказать, что даже если закрыть ФФ, то может не вся память вернуться в систему? И теоретически за конечное время можно добиться ситуации, когда в системе не окажется свободной памяти и придется делать ребут?
2 вопроса. Возможные ответы: Да/Нет/Не знаю. Я хочу получить 2 ответа. (не знаю почему, но многие люди обычно если отвечают, то только на последний вопрос).
Если ответ на первый вопрос "Да", то хочу услышать ответ на:
> Ты можешь это как-нибудь объяснить?
Желательно поподробнее, хотя можно ответить и "не знаю".
Спасибо.
> ну понятно, в первом случае удаляется 10 объектов, во втором один. Насколько я помню, во втором случае поведение вообще не определено. Так что ты хотел сказать ? :)
Интересный ты человек, ты понял но ты не понял. Какойто каламбур получается?
>>Если выделяется память под стандартные типы то скорее всего никакой разници нет, опять таки зависит от реализации компилятора. Если же выделяется память под пользовательские типы то разница есть, сам надеюсь знаещь?
и привёл потом код. У меня есть кое-какие соображения, я их пока оставлю при себе, просто хотелось бы уточнить что ты конкретно имел ввиду ?
> Так в чём разница между программой 1 и 2 после того как она "закончила свое выполнение" ?
Вот я уже отвечал(надеюсь поймеш):
>> и вызывает ли он его вообще, если программа закончила свое выполнение?
>Для данной программы можно и принебречь вызов delete. Но не стоит привыкать к этому, так как в языке C++ есть действия которые выполняются неявно. Devix (*) (21.01.2008 15:27:50)
>>> Какая разница как он вызывает delete >> На этот я тебе ответил надеюсь ты понял?
>Только вопрос был другой. Меня не интересовал вопрос, который ты процитировал, меня интересовал вопрос, который я задал: >> Какая разница как он вызывает delete и вызывает ли он его вообще, если программа закончила свое выполнение?
На этот вопрос я тебе уже ответил, и если ты не понял что я с тобой отчасти согласился и показал какие проблемы могут возникнуть, то это твои проблемы.
> На счет привыкать. Я вообще не касался этого момента. Ты можешь мне просто ответить на те вопросы, которые я задал в 2х предыдущих своих сообщениях: >> И это, ты хочешь сказать, что даже если закрыть ФФ, то может не вся память вернуться в систему? И теоретически за конечное время можно добиться ситуации, когда в системе не окажется свободной памяти и придется делать ребут?
Просто эты твои 2 вопросо последовали из-за непонимания моего ответа на первый твой вопрось.
А на эти вопросы как я понял ты и сам можешь себе ответить.
Хех, а я ведь просил ответы ввиде "Да/Нет/Не знаю". Все просто.
Ладно. Пофиг, буду считать, что это теоретически возможно, так как ОСи тоже программы (или их набор), а значит тоже могут косячить.
Кроме того как я и говорил, я погуглил, просто хотел услышать твой прямой ответ. Жаль, что не услышал, но уговорить тебя -- это выше моих сил. Нашел я вот это:
http://sdteam.com/?tid=735
Начиная с "Но программные объекты могут порождать другие «побочные эффекты», которые не прекращаются после завершения работы программы".
Хотя статья мне показалась несколько сомнительной.
Да все нормально, мне просто действительно интересно, вот и доставал тебя, причем именно про память, а не про delete и delete[], их разницу и возможные последствия.