Q:

Должен ли я высвободить память аргументов командной строки? 

Редко я работаю с аргументами командной строки из программы на C/С++.  Подскажите, должен ли я высвобождать массив char *argv[] delete[]'ом, который пришел в качестве параметра в функцию main или этим займется система? 
int main(int argc, char *argv[]) {...}

P.S. мне бы хотелось узнать точно, как делать правильно.  
Вообще мысли такие - раз не я отводил память, то и не мне ее освобождать. ( Вольная интерпретация концепции, когда отведение и высвобождение должно производиться на одном уровне абстракции в коде)

A:

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

A:

Нет, вы ничего не должны высвобождать.