true> { static inline void sta
Автор admin
Пятница, 22 мая 2009 11:32
true> { static inline void statementK) { cout « “This is statementl executing\n”: } public: static inline void f() { statementK); } }: tempiate<> struct Select { static inline void statement2() { cout « “This is statement2 executing\n”: } public: static inline void f() { statement2(); } Существует гораздо более эффективный способ вычисления степеней целых чисел, который называется «алгоритмом русского крестьянина». 240 Глава 5 • Шаблоны tempiate void executeO { Select::f(): } int mainO { execute(): } III:- Эта программа эквивалентна следующему выражению: if(cond) statementK): else statement2(): Отличие только в том, что условие cond проверяется на стадии компиляции, а компилятор создает специализации соответствующих версий executeo() и Selecto. Функция Selecto::f() выполняется на стадии выполнения. Команда switch эмулируется аналогичным образом, только специализация производится по всем вариантам вместо двух (true и false). Утверждения времени компиляции В главе 2 отмечалась польза утверждений как части общей стратегии защитного программирования. Утверждение фак
Комментарии закрыты.
Последние комментарии