Напишите небольшой набор тестовых программ для выяснения, поддерживает ли ваша С++ — реализация самые последние стандарты. Например какова область видимости переменной, определенной в инициализирующей секции оператора for (параграф B.3.6)?, поддерживаются ли умолчательные значения параметров шаблонов (параграф B.3.6)?, поддерживаются ли шаблонные члены шаблонов (параграф B.13.6.2)?, поддерживается ли поиск имен по аргументам (параграф B.8.2.6)? Подсказка B.2.4.
Щас попробуем что то сделать, хоть мелкую программку написать.
От программка показывает что область определения переменно i находится в области видимости цикла for, она не компилируется.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#include <iostream> using std::cout; using std::endl; int main() { //прверка переменной из цикла for(int i=0;i<4;i++) cout <<i<<endl; cout <<i<<endl; return 0; } |
От программка которая показывает что шаблонны члены поддерживаются код скомпилировался:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#include <iostream> using std::cout; using std::endl; template<class T> class prov { template<class A> class C{}; }; int main() { prov<int> p; return 0; } |
Ладно я все тестить не буду это утомительно и нужно делать по мере надобности, вот примерно так тестятся все остальные детали которые нужно проверить.
[youtube]https://www.youtube.com/watch?v=2uPyqwj8CJM[/youtube]