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

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

Войти
Регистрация
Восстановить пароль
 
relationer
33 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 118
#1

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

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

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

Как известно, в функцию main передаются два аргумента: int argc, char** argv
Стоит ли использовать delete на argv ради экономии памяти, после парсинга аргументов?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.04.2014, 18:14     Очищение аргументов функции main
Посмотрите здесь:

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

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

Ошибка аргументов функции - C++
#include <iostream> #include <stdio.h> #include <math.h> #include <conio.h> using std::cout; using std::cin; using...

Замена аргументов функции - C++
Добрый день! Имеется функция: void funct (uint32_t* v, uint32_t* k) { uint32_t v0=v, v1=v, sum=0, i; uint32_t...

Передача аргументов функции - C++
В книге Стенли Липпмана C++ Primer дошел до программы, которая выполняет замену слов в одном файле, которые указаны в другом. Например, ...

Типы аргументов функции strstr - C++
Здравствуйте. Подскажите, какие преобразования мне нужно осуществить, чтобы функция работала правильно? При таком коде: char k; string...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
25.04.2014, 18:55     Очищение аргументов функции main #2
Цитата Сообщение от relationer Посмотреть сообщение
Стоит ли использовать delete на argv ради экономии памяти, после парсинга аргументов?
Вы делали new, чтобы делать delete?
relationer
33 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 118
25.04.2014, 19:07  [ТС]     Очищение аргументов функции main #3
Нет, но, по-идее, значения этих аргументов закидываются в кучу приложения при инициализации процесса, и на них выделяется память. Или спецификации требуют, чтобы на каждый вызов delete приходился вызов new? Как освободить эту память, выделенную при старте процесса?
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,013
25.04.2014, 19:17     Очищение аргументов функции main #4
Цитата Сообщение от relationer Посмотреть сообщение
Как освободить эту память, выделенную при старте процесса?
Вручную ничего делать не нужно.
Где размещаются аргументы ф-ии main - определяется реализацией компилятора и операционной системой. Для программиста это не важно.
DrOffset
7060 / 4201 / 949
Регистрация: 30.01.2014
Сообщений: 6,968
25.04.2014, 19:36     Очищение аргументов функции main #5
Цитата Сообщение от relationer Посмотреть сообщение
Или спецификации требуют, чтобы на каждый вызов delete приходился вызов new?
Есть требование освобождать память тем же способом, которым она была выделена (это предполагает парность операций выделения и освобождения). Хотя бы уже потому, что мы не знаем каким именно способом была выделена память для аргументов, мы не имеем права вызывать для нее delete. К тому же, эта память вполне может выделяться не в куче.
Avazart
Эксперт С++
7122 / 5299 / 273
Регистрация: 10.12.2010
Сообщений: 23,452
Записей в блоге: 17
25.04.2014, 19:41     Очищение аргументов функции main #6
Цитата Сообщение от relationer Посмотреть сообщение
аргументов закидываются в кучу приложения
Не в кучу, а в стек...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.04.2014, 00:25     Очищение аргументов функции main
Еще ссылки по теме:

Передача аргументов в функции по ссылке - C++
#include "stdafx.h" #include <iostream> #include <conio.h> #include <iomanip> #include <math.h> using namespace std; const...

Проверка аргументов рекурсивной функции - C++
Как внутри рекурсивной функции проверить аргументы на допустимые значения?

Имена аргументов в прототипе функции - C++
Не нашел инфу, конкретно, для чего все же имена аргументов прототипу функции. Либо для уяснения назначения аргументов (1), уточнения...

Передача аргументов функции и параметры - C++
Здравствуйте, никак не могу написать правильно параметры функции prntls string permissions(struct stat &, string &); string...


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

Или воспользуйтесь поиском по форуму:
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
26.04.2014, 00:25     Очищение аргументов функции main #7
Цитата Сообщение от Avazart Посмотреть сообщение
Не в кучу, а в стек...
Судя по адресам, то в кучу. Но скорее всего так:
Цитата Сообщение от 0x10 Посмотреть сообщение
Где размещаются аргументы ф-ии main - определяется реализацией компилятора и операционной системой.
Yandex
Объявления
26.04.2014, 00:25     Очищение аргументов функции main
Ответ Создать тему
Опции темы

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