Использование inline и alloca
Здравствуйте, уважаемые господа.
У меня появилось неск. вопросов:
— Какой вариант считается правильным?
Объявление функции
inline int value ();
Определение функции
inline int value ()
{
return 0;
}
Объявление функции
int value ();
Определение функции
inline int value ()
{
return 0;
}
Объявление функции
inline int value ();
Определение функции
int value ()
{
return 0;
}
Я так понимаю, что, разумеется, первый, однако как компилятор поведёт себя в других случаях и почему вообще так можно делать?
— Почему все так редко используют функцию alloca?
Разумеется, я читал что в некоторых случаях она не безопасна, но ведь зато очень удобно использовать.
И что значит — много не выделишь? Что, на стеке не так уж и много свободного места?
Заранее благодарю за возможные ответы.
Пока на собственное сообщение не было ответов, его можно удалить.