C ++ шаблон и встроенный

Когда я пишу простой (не шаблонный) класс, если реализация функции предоставляется «прямо на месте», она автоматически обрабатывается какinline.

class A {
   void InlinedFunction() { int a = 0; }
   // ^^^^ the same as 'inline void InlinedFunction'
}

Как насчет этого правила, когда речь идет о классах на основе шаблонов?

template <typename T> class B {
   void DontKnowFunction() { T a = 0; }
   // Will this function be treated as inline when the compiler
   // instantiates the template?
};

Кроме того, как этоinline правило применяется к не вложенным шаблонным функциям, таким как

template <typename T> void B::DontKnowFunction() { T a = 0; }

template <typename T> inline void B::DontKnowFunction() { T a = 0; }

Что бы произошло в первом и во втором случае здесь?

Спасибо.

Ответы на вопрос(3)

Ваш ответ на вопрос