В последнее время я очень часто использую c и обнаружил, что мне действительно не нравится иметь дело с управлением памятью или, по крайней мере, мысль о том, что если я запрограммировал указатель, я должен освободить его, даже если это самая тривиальная вещь. Это привело меня к тому, что я выделил как можно больше в стеке и использовал & для определения его местоположения. Даже создание отдельных переменных int и inptr (у меня была проблема с lvalue с оператором & в макросах).
Я не нашел много мест, где мне приходилось иметь дело с передачей данных вверх (вверху / внизу), где они были размещены. В то же время мне нужно приличное количество ранних возвратов (и я бы предпочел избегать gotos). Что общего c мнением говорят? Есть ли очевидные признаки того, что я должен использовать тот или иной в конкретном случае.
P.S. Одна вещь, которая заставила меня немного волноваться, заключалась в том, что у меня недавно возникла проблема с повреждением памяти из-за использования неправильного sizeof для malloc, и я не заметил этого сразу, поскольку большинство моих путей кода сразу после этого момента не использовали кучу . Как вы думаете, насколько большой проблемой может быть такое сокрытие коррупции?
goto
для очистки в C больше похож на слепую догму, чем на разумный стиль кодирования. - person   schedule 29.01.2011