Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ "Защита от дурака" числа с плавающей запятой Какие есть способы для защиты от ввода чисел с плавающей точкой(запятой) ? https://www.cyberforum.ru/ cpp-beginners/ thread927140.html Visual studio не пашет C++
Постоянные проблемы с этим компилятором. Даже следующий код он может откомпилировать нормально, а когда на следующий день ты пишешь его в другой программе, то он не пашет Бывает пишу программу, постоянно выдает ошибки компилятор, потом я беру, создаю проект заново, и все норм. Что за фигня? Пример кода, который вчера работал, а сегодня компилятору он не нравится: #include "stdafx.h"...
C++ Почемуто всеравно выходить true = 1 https://www.cyberforum.ru/ cpp-beginners/ thread927127.html
#include <iostream> using namespace std; int main() { bool boolean = 260; if (boolean){ cout <<"true = "<<boolean<<endl; } else{
C++ как понять Диапазон принимаемых значений? Помогите пожалуйста я не могу понять слово Диапазон принимаемых значений! Заранее Спасибо! https://www.cyberforum.ru/ cpp-beginners/ thread927114.html
C++ Решето Эратосфена
В решете эратосфена из книги в условии есть непонятная вещь: if (i * 1ll * i <= n) - возле единицы для непонятных знака, на форуме они почти такие как ||, но в visual studio они похожи на единицы. Заменил на единицы, алгоритм перестал правильно работать, что это за знаки?. А вот и вся программа: #include<iomanip> #include<iostream> #include<vector> #include<fstream> using namespace std; ...
C++ не считает простых формул https://www.cyberforum.ru/ cpp-beginners/ thread927081.html
есть задание нужно прочитать бесконечно определенные формулы. код написал но он не считает почему то немугу разобраться... int main(){ int D=50, R=200, V=194, xs=0, ys=0, t=0; float a1,a2,x,y; for(t;t<=60;t++) { a1=atan(D/R); a2=atan(D/(R-V*t)); x=xs+((V*t*tan(a2))/(tan(a2)-tan(a1)));
C++ cin https://www.cyberforum.ru/ cpp-beginners/ thread927075.html
Что не так? Сильно не кpичать. Cin юзаю пеpвый pаз. #include "stdafx.h" #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv) { int a=0;
C++ [C++11] regex constructor исключение
Конструктор регекса выдает какое-то исключение(перехватываю catch(...)), где можно почитать какие они вообще бывают и из-за чего? Заранее благодарен. Добавлено через 4 минуты падает на регулярке: (( (-?+.?*) | ('*') | (\{.+?\}) ),?)*
C++ Первое приложение под виндовс Напишите исходный код первого прилодения под виндовс на визуал с++. И какой выбирать тип проекта? https://www.cyberforum.ru/ cpp-beginners/ thread927062.html C++ Рекурсия, перебор. Сложность 70%. Резисторы https://www.cyberforum.ru/ cpp-beginners/ thread927051.html
Резисторы (Время: 1 сек. Память: 16 Мб Сложность: 59%) Радиолюбитель Петя решил собрать детекторный приемник. Для этого ему понадобился конденсатор емкостью C мкФ. В распоряжении Пети есть набор из n конденсаторов, емкости которых равны C1, C2, ... ,Cn соответственно. Петя помнит, как вычисляется емкость параллельного соединений двух конденсаторов (Cnew = C1 + C2) и последовательного соединения...
C++ Вывести простые числа от 1 до 1000000 с помощью решета Эратосфена
Вывести список простых чисел от 1 ого до млн.(1000000) с помощью решета иратосфена. Помогите решить пож.
C++ valarray Помогите разобраться, в книге есть код: // studentc.h -- defining a Student class using containment #ifndef STUDENTC_H_ #define STUDENTC_H_ #include <iostream> #include <string> #include <valarray> class Student { https://www.cyberforum.ru/ cpp-beginners/ thread926970.html
15 / 15 / 3
Регистрация: 04.07.2013
Сообщений: 76
0

О специализации шаблона: почему код компилируется? - C++ - Ответ 4871225

22.07.2013, 17:20. Показов 687. Ответов 4
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день.
Вроде бы, по правилам специализации шаблонов, можно только уточнять поведение шаблонного класса, но нельзя изменять его структуру. Однако, приведенный ниже код успешно компилируется и правильно работает:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
template <typename T>
struct A
{
   //Пустой класс 
};
 
template <>
struct A<float>
{
    static std::function<void()> f;
};
 
std::function<void()> A<float>::f = [](){std::cout<<"float specialized\n";};
 
template <>
struct A<double>
{
    static std::function<void()> f;
};
 
std::function<void()> A<double>::f = [](){std::cout<<"double specialized\n";};
 
int main()
{
    A<float> ob1;
    A<double> ob2;
    ob1.f();
    ob2.f();
}
Использую компилятор gcc 4.7. Как это объяснить и стоит ли так делать?

Вернуться к обсуждению:
О специализации шаблона: почему код компилируется? C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.07.2013, 17:20
Готовые ответы и решения:

Ошибка при специализации шаблона
Пишу: template &lt;&gt; struct Test &lt; int&gt; { Test(int x) :x(x) {} int Cout...

Извлечь тип из специализации шаблона
template&lt;class T&gt; class cl { public: T t; cl(){ type t2; } }; ...

Специализации шаблона функции или перезагрузка
Доброго времени суток. Собственно, мою проблему можно увидеть в коде: #include &lt;iostream&gt;...

Ведет ли к инстанцированию определение явной специализации шаблона функции?
сабж ясен из заголовка

4
22.07.2013, 17:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.07.2013, 17:20
Помогаю со студенческими работами здесь

Почему компилируется код?
#include &lt;stdio.h&gt; int main(void) { double d = 1.12; f(d); f(&quot;Hello&quot;); ...

Почему не компилируется код
Доброго времени суток, я только начал постигать азы великого и могучего, по этому не смейтесь если...

[template] почему код не компилируется без конструктора
добрый вечер. вопрос поместил прямо в коде. http://rextester.com/AESO94403 #include...

Как работает данный код? И почему не компилируется?
Обьясните пожалуйста как работает данный код, и скажите почему он не компилируется? И есть ли...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru