Я всегда задавался вопросом, почему большинство кодов и учебников, которые я прочитал, всегда объявляют функции-члены внутри класса и затем определяют его вне этого.Определение функций-членов внутри определения класса
class A{
A doSomething();
};
A A::doSomething(){
//doing something
}
Вместо того чтобы делать это
class A{
A doSomething(){
//doing something
}
};
Во всяком случае, я пересматривал курс мой профессор, и я нашел это:
"Toute fonction: Новичок définie данс са Classe (данс ла ДЕКЛАРАЦИЯ-де-ла)
Wh ich переводит;
«Все функции-члены, определенные в классе (в классе декларации) не рассматривается компилятором как функцию инлайн. Ключевое слово„инлайн“больше не используется»
Я понимаю, примыкают встроенные функции - это работа как макросы. Компилятор копирует весь блок кода в каждый экземпляр, вызываемый функцией.
Мой вопрос: Правильно ли это утверждение в курсе моего профессора, и если да, в чем причина этого?
'inline' не имел никакого отношения к встраиванию с навсегда. Он имеет немного семантического ввода (он поднимает одно правило определения и, возможно, что-то еще, что я забываю), но он не подразумевает и не требует, чтобы функция была встроена компилятором. – delnan