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

Использование шаблоных методов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Обращение трех потоков к очереди http://www.cyberforum.ru/cpp-beginners/thread1088117.html
Помогите разобраться Три различных потока исполнения в одной программе независимо друг от друга обращаются к очереди: #include <boost/thread.hpp> #include <iostream> #include <queue> ...
C++ с массивом С http://www.cyberforum.ru/cpp-beginners/thread1088094.html
Генератор пароля. Оцените его компактность и непредсказуемость C++
Сделал за 10 минут генератор. Оцените компактность и непредсказуемость(рандомность) пароля, пожалуйста :) #include<conio.h> #include<iostream> #include<time.h> using namespace std; int main(){...
Распечатать таблицу ASCII C++
Всем привет! Задание: Создать таблицу с ASCII символов размером m*n, после каждой строчки подсчитать общее количество точек и запятых в каждой стрчке и распечатать таблицу! После этого распечатать...
C++ [ilink32 Error] Error: Unresolved external 'zamena (int * *) ' referenced http://www.cyberforum.ru/cpp-beginners/thread1088053.html
Вот это программа не работает : вот ошибка которую выдает компилятор: Error: Unresolved external 'zamena(int * *)' referenced from C:\USERS\DOM\DOCUMENTS\RAD STUDIO\PROJECTS\WIN32\DEBUG\4343.OBJ В...
C++ Не могу понять где объект в куче или в стеке ! Сразу к примеру: class Zombie; { Soldat soldat; // что солдат внутри зомби делает не спрашивайте String name; int ammo; }; int main() { подробнее

Показать сообщение отдельно
DrOffset
7313 / 4413 / 999
Регистрация: 30.01.2014
Сообщений: 7,246
03.02.2014, 16:37
Цитата Сообщение от aLarman Посмотреть сообщение
хорошо, раз это часть стандарта, чтож эта зараза молчит (
В VC++ подругому реализована обработка шаблонов. Там отсутствует так называемый two phase lookup, который требуется стандартом. В студии построение AST для шаблоного кода откладывается до момента инстанцирования, когда уже понятно какие типы будут подставлены. Соответственно отличить шаблон от нешаблона VС++ в вышеупомянутом прекрасно может. GCC сразу пытается построить AST, но на этом этапе типы еще неизвестны, потому нужна подсказка. Насчет two phase lookup тема холиварная, много споров нужен он или нет, но у него есть неоспоримое преимущество: ошибку в шаблонном коде можно сразу распознать, в VC++ же в шаблоне можно написать всякую ахиненю, до первой инстанции он и носом не поведет, чтобы сказать об этом.

В VС++ это сделано сознательно, потому что при таком подходе очень сильно ускоряется обработка файлов с шаблонным кодом, который написан, но не инстанцирован.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru