LINUX.ORG.RU

История изменений

Исправление quest, (текущая версия) :

понял про стек, статическую и динамическую память. malloc и new для выделения динамической памяти? Почему два ключевых слова? у них тоже разное поведение? быстрый гугл сказал что new - c++, malloc - c. это так?

malloc просто выделяет блок
new выделяет блок, если не получилось - кидает исключение (которое можно выключить), если получилось - вызывает конструктор или множество конструкторов.

malloc/free - C, C++ new/new[]/delete/delete[] - C++

P.S. если не трудно, помоги с extern, auto, register. с любым из этих. лучше одним, что лучше дойдёт до меня :) Хочу понять в чём их смысл, и эквивалент паскаля.

extern ключевое слово используемое в хедере чтобы объяснить компилятору что пусть сейчас переменной/функции еще и нету, но на этапе линковки оно появится

auto устаревший модификатор появившийся опять в последнем стандарте C++ - для тех кому лень писать нормальные итераторы при проходе по контейнерам

register так же как inline - устаревшие модификаторы подсказывающие компилятору как оптимизировать

не помню точно, но возможно register важен при использовании asm внутри исходника.

Исходная версия quest, :

понял про стек, статическую и динамическую память. malloc и new для выделения динамической памяти? Почему два ключевых слова? у них тоже разное поведение? быстрый гугл сказал что new - c++, malloc - c. это так?

malloc просто выделяет блок new выделяет блок, если не получилось - кидает исключение (которое можно выключить), если получилось - вызывает конструктор или множество конструкторов.

malloc/free - C, C++ new/new[]/delete/delete[] - C++

P.S. если не трудно, помоги с extern, auto, register. с любым из этих. лучше одним, что лучше дойдёт до меня :) Хочу понять в чём их смысл, и эквивалент паскаля.

extern ключевое слово используемое в хедере чтобы объяснить компилятору что пусть сейчас переменной/функции еще и нету, но на этапе линковки оно появится

auto устаревший модификатор появившийся опять в последнем стандарте C++ - для тех кому лень писать нормальные итераторы при проходе по контейнерам

register так же как inline - устаревшие модификаторы подсказывающие компилятору как оптимизировать

не помню точно, но возможно register важен при использовании asm внутри исходника.