Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
relationer
33 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 118
#1

Очищение аргументов функции main

25.04.2014, 18:14. Просмотров 289. Ответов 6
Метки нет (Все метки)

Здравствуйте!

Как известно, в функцию main передаются два аргумента: int argc, char** argv
Стоит ли использовать delete на argv ради экономии памяти, после парсинга аргументов?

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.04.2014, 18:14
Ответы с готовыми решениями:

Назначение аргументов функции int main
int main(int argc, char *argv) что эти параметры делают и какие у них...

Передача аргументов командной строки функции main()
Добрый день Дана задача: Напишите программу, которая запрашивает пароль,...

Дан файл, переписать его в обратном направлении, передавая имена файлов в качестве аргументов функции main
Здравствуйте! Помогите, пожалуйста! Дан файл, переписать его в обратном...

Использование аргументов передаваемых в функцию main
Здравствуйте, дорогие форумчане! мне нужна помощь по интересному вопросу,...

Есть функция с кучей аргументов, как её вызвать в другой функции (если половины аргументов у меня нет)?
Я конечно, понимаю, что на такие вопросы отвечают "почитай книжку". Я читала,...

6
alsav22
5439 / 4834 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
25.04.2014, 18:55 #2
Цитата Сообщение от relationer Посмотреть сообщение
Стоит ли использовать delete на argv ради экономии памяти, после парсинга аргументов?
Вы делали new, чтобы делать delete?
0
relationer
33 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 118
25.04.2014, 19:07  [ТС] #3
Нет, но, по-идее, значения этих аргументов закидываются в кучу приложения при инициализации процесса, и на них выделяется память. Или спецификации требуют, чтобы на каждый вызов delete приходился вызов new? Как освободить эту память, выделенную при старте процесса?
0
0x10
2560 / 1740 / 285
Регистрация: 24.11.2012
Сообщений: 4,364
25.04.2014, 19:17 #4
Цитата Сообщение от relationer Посмотреть сообщение
Как освободить эту память, выделенную при старте процесса?
Вручную ничего делать не нужно.
Где размещаются аргументы ф-ии main - определяется реализацией компилятора и операционной системой. Для программиста это не важно.
1
DrOffset
7586 / 4555 / 1104
Регистрация: 30.01.2014
Сообщений: 7,420
25.04.2014, 19:36 #5
Цитата Сообщение от relationer Посмотреть сообщение
Или спецификации требуют, чтобы на каждый вызов delete приходился вызов new?
Есть требование освобождать память тем же способом, которым она была выделена (это предполагает парность операций выделения и освобождения). Хотя бы уже потому, что мы не знаем каким именно способом была выделена память для аргументов, мы не имеем права вызывать для нее delete. К тому же, эта память вполне может выделяться не в куче.
0
Avazart
Эксперт С++
7696 / 5605 / 543
Регистрация: 10.12.2010
Сообщений: 25,164
Записей в блоге: 17
25.04.2014, 19:41 #6
Цитата Сообщение от relationer Посмотреть сообщение
аргументов закидываются в кучу приложения
Не в кучу, а в стек...
0
alsav22
5439 / 4834 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
26.04.2014, 00:25 #7
Цитата Сообщение от Avazart Посмотреть сообщение
Не в кучу, а в стек...
Судя по адресам, то в кучу. Но скорее всего так:
Цитата Сообщение от 0x10 Посмотреть сообщение
Где размещаются аргументы ф-ии main - определяется реализацией компилятора и операционной системой.
0
26.04.2014, 00:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.04.2014, 00:25

А почему ошибка, что функции print и read не определены в функции main()?
Что-то не понимаю. Они определены в заголовочном файле. А подчеркивается...

Написать три функции, которые будут вызываться из функции main()
Доброго времени суток... уважаемые форумчане может кто поможет с моей бедой. а...

Определить типы и функции; в функции main() реализовать демонстрацию работы
Определите структуру TreeNode – узел дерева: struct TreeNode { char...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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