Необходимо ли использовать параметры шаблона для ссылки на один и тот же класс внутри определения?

Это необходимо:

 template 
 class A{
   T*point;
   A someFunction(){} //instead of returning just "A", not "A"
 }

БудетsomeFunction неявно вернутьA того же типа, что и определяемый класс? Поскольку вне класса вы можете ссылаться только на этот тип какA или похожий, так что яЯ предположил, что это было необходимо и внутри класса. Я обнаружил, что он компилируется без <> так что это заставляет задуматься, если это безопасная привычка - опускать скобки.

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

A или простоA, а такжеA означает так же, какA, Это из-за 14.6.1 / 1:

Как и обычные (не шаблонные) классы, шаблоны классов имеют имя введенного класса (раздел 9). Имя введенного класса [...] эквивалентноИмя Шаблона с последующимШаблон-параметры шаблона класса, заключенного в.<>

 johnbakers05 июн. 2013 г., 13:29
+1 за уточнение
Решение Вопроса

Действительный и безопасный C ++ для пропуска параметров шаблона внутри определения класса. На самом деле этоЭто хорошая практика, поскольку вы можете добавить другие параметры шаблона со значениями по умолчанию позже. Вы можете забыть изменитьA вA и получить странные ошибки во время компиляции. Потом просто возвращаюсьA сделаю это.

 johnbakers05 июн. 2013 г., 13:29
+1 за предоставление веских оснований для этой привычки

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