LINUX.ORG.RU

[мыши кактус плакать] Шаблоны C++


0

0

У Луговского, в его сраче на sql.ru, промелькнула фраза, что язык шаблонов в плюсах является Тьюринг-полным. А почему, в таком случае, Александреску (Modern C++ design) широко использует старый препроцессор, особенно при создании списков типов?

Я с функциональщиной разбираться совсем недавно начал, просьба больно не бить.

Brainfuck тоже Тьюринг-полный, и что с того?

Pi ★★★★★
()

PostScript кагбе тоже… Давайте все на PostScript'e писать?

anarquista ★★★★★
()

> А почему, в таком случае, Александреску (Modern C++ design) широко использует старый препроцессор, особенно при создании списков типов?

Видал я один проект в котором очень много использовалось шаблонов, boost::mpl, ... Компилился потора часа. При этом отжирал 2 гига памяти. Релизную версию собрать было невозможно - компилер падал.

Во всём надо знать меру.

stpg
()

Тьюринг-полнота не означает удобство использования или то, что ресурсов машины хватит для выполнения кода, записанного на этом языке.

dmitry_vk ★★★
()

>А почему, в таком случае, Александреску (Modern C++ design) широко использует старый препроцессор, особенно при создании списков типов?

В создании списков - очевидно, чтоб каждый раз не писать typelist<int, typelist<char, typelist <short> > > и т.д

yoghurt ★★★★★
()

> промелькнула фраза, что язык шаблонов в плюсах является Тьюринг-полным.

Хм, и к чему она там промелькнула?

smh ★★★
()

посмотрите последнии исходники библиотеки loki от Александреску

взамен препроцессора можно использовать Loki::Seq

например
#ifndef LOKI_DISABLE_TYPELIST_MACROS
typedef LOKI_TYPELIST_4(Derived1,Base,Derived1,Derived2) Derived1BaseDerived1Derived2List;
#else
typedef Seq<Derived1,Base,Derived1,Derived2>::Type Derived1BaseDerived1Derived2List;
#endif

acefsm
()

> У Луговского, в его сраче на sql.ru, промелькнула фраза, что язык шаблонов в плюсах является Тьюринг-полным.

Это до Луговского еще широко было известно.

> А почему, в таком случае, Александреску (Modern C++ design) широко использует старый препроцессор, особенно при создании списков типов?

Трололо. А что, эти двое людей (Луговской и Александреску) как то неразрывно связаны, что слова одного должны обязательно приводить к действию другого?

d_a ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.