Форум программистов, компьютерный форум CyberForum.ru

Шаблоны. В чем разница? - C++

Восстановить пароль Регистрация
 
Зюфпъ
0 / 0 / 0
Регистрация: 16.01.2014
Сообщений: 7
20.01.2014, 21:41     Шаблоны. В чем разница? #1
В чем разница между этими объявлениями? Вроде и так можно и этак. А как правильней?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
template <class T>
struct list
{
    T value;
    list *prev;
    list *next;
};
 
template <class T>
struct list
{
    T value;
    list<T> *prev;
    list<T> *next;
};
Заранее спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2014, 21:41     Шаблоны. В чем разница?
Посмотрите здесь:

C++ В чем разница.
В чем разница? C++
C++ в чем разница?
C++ В чем разница
В чем разница C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
_script_
169 / 137 / 34
Регистрация: 01.05.2012
Сообщений: 414
20.01.2014, 21:45     Шаблоны. В чем разница? #2
Скорее всего разницы нет.
Второй правильнее наверно
Зюфпъ
0 / 0 / 0
Регистрация: 16.01.2014
Сообщений: 7
20.01.2014, 21:55  [ТС]     Шаблоны. В чем разница? #3
_script_, это точно что между ними нет разницы? Тогда для чего это сделано list<T> *prev ?
_script_
169 / 137 / 34
Регистрация: 01.05.2012
Сообщений: 414
20.01.2014, 21:59     Шаблоны. В чем разница? #4
я думал, что в первом варианте указателю можно будет присвоить элемент с данными другого типа, но когда проверил, у меня ругалось.
так что пока я разницы не увидел.
может кто то уточнит)
Зюфпъ
0 / 0 / 0
Регистрация: 16.01.2014
Сообщений: 7
20.01.2014, 22:11  [ТС]     Шаблоны. В чем разница? #5
Похоже никто не знает или все спят)
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
21.01.2014, 12:13     Шаблоны. В чем разница? #6
Цитата Сообщение от Зюфпъ Посмотреть сообщение
В чем разница между этими объявлениями?
первое - неполное имя, второе - полное (fully qualified name). что это такое читайте в стандарте и в книге Вандервуда по шаблонам.

Добавлено через 5 минут
Цитата Сообщение от Зюфпъ Посмотреть сообщение
А как правильней?
там где имеется ввиду тип лучше применять полное имя, там где требуется лишь имя класса достаточно неполного имени
C++
1
2
3
4
5
6
template<class T>
class Foo
{
    Foo<T>* mChild; //тип
    Foo(...); //тут не тип, тут нам нужно лишь имя класса
};
Yandex
Объявления
21.01.2014, 12:13     Шаблоны. В чем разница?
Ответ Создать тему
Опции темы

Текущее время: 04:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru