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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
trans967
6 / 2 / 1
Регистрация: 23.04.2013
Сообщений: 186
#1

Объясните пожалуйста код - C++

27.01.2016, 12:16. Просмотров 277. Ответов 5
Метки нет (Все метки)

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
30
31
32
33
34
35
36
37
#include <iostream>
 
template <typename T>
struct NameOf {};
 
#define DEF_TYPENAME(type) template <> \
struct NameOf<type> {\
    static const char value[];\
};\
const char NameOf<type>::value[] = #type;
 
DEF_TYPENAME(int)
DEF_TYPENAME(double)
DEF_TYPENAME(long double)
DEF_TYPENAME(float)
DEF_TYPENAME(char)
DEF_TYPENAME(long)
DEF_TYPENAME(unsigned)
DEF_TYPENAME(unsigned long)
 
template <typename T, typename ...types>
void printTypes(T)
{
    std::cout << NameOf<T>::value << std::endl;
}
 
template <typename T, typename ...types>
void printTypes(T, types... t)
{
    std::cout << NameOf<T>::value << ", ";
    printTypes(t...);
}
 
int main(int argc, char *argv[])
{
    printTypes(1,2U,3L, 4.0, 5.0L, 6UL, 'a', 8.0F);
}
Объясните пожалуйста код.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2016, 12:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Объясните пожалуйста код (C++):

Объясните, пожалуйста, код - C++
bool userAgeIs16 = age == 16; if( userAgeIs16 ) { Console.WriteLine(\&quot;В этом возрасте уже можно водить машину!\&quot;); } ...

Объясните код пожалуйста - C++
FILE* fp = NULL; char* filename = &quot;m:\\2.txt&quot;; if ((fp = fopen(filename,&quot;r&quot;)) == NULL) cout&lt;&lt;&quot;Unable to open...

Объясните пожалуйста код - C++
#include&quot;stdafx.h&quot; #include&lt;string.h&gt; #include &lt;iostream&gt; using namespace std; const int MAX = 5; struct polinom ...

объясните, пожалуйста, код - C++
есть программа, но не до конца понятно, что она делает... #include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;string&gt; #include...

объясните пожалуйста код - C++
объясните пожалуйста код, желательно каждую строчку пояснить #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;sstream&gt; #include...

Объясните, пожалуйста, данный код - C++
Здравствуйте, объясните пожалуйста построчно данный код. Задача: В одномерном массиве исключить все вхождения заданного числа. Массив...

5
volframka
0 / 0 / 0
Регистрация: 27.01.2016
Сообщений: 6
27.01.2016, 17:32 #2
А что именно не понятно?
Просто объяснять начиная с: что такое include?
Или достаточно, что программа выводит имена всех перечисленных типов?
0
trans967
6 / 2 / 1
Регистрация: 23.04.2013
Сообщений: 186
27.01.2016, 17:35  [ТС] #3
Ну инклуды не надо объяснять.
Но хотелось бы что-то типа комментарий к строкам.
Например, что делает #type в 8 строке вообще не понятно
0
castaway
Эксперт С++
4915 / 3023 / 370
Регистрация: 10.11.2010
Сообщений: 11,081
Записей в блоге: 10
Завершенные тесты: 1
27.01.2016, 17:54 #4
Цитата Сообщение от trans967 Посмотреть сообщение
Например, что делает #type в 8 строке вообще не понятно
Если вы про 7-ю строку, то так устроена специализация (полная) шаблона.
0
trans967
6 / 2 / 1
Регистрация: 23.04.2013
Сообщений: 186
27.01.2016, 17:55  [ТС] #5
Я про 10 строку, почему #?
Для чего?
Ну, может, кто-то объяснит построчно?
0
castaway
Эксперт С++
4915 / 3023 / 370
Регистрация: 10.11.2010
Сообщений: 11,081
Записей в блоге: 10
Завершенные тесты: 1
27.01.2016, 17:58 #6
Цитата Сообщение от trans967 Посмотреть сообщение
Я про 10 строку, почему #?
Преобразование аргумента макроса в строковой литерал (строку в стиле Си).
C++
1
2
3
4
5
#define A( arg ) #arg
 
...
    std::cout << A( hello ); // напечатает hello
...

Не по теме:

Цитата Сообщение от trans967 Посмотреть сообщение
что делает #type в 8 строке
Цитата Сообщение от trans967 Посмотреть сообщение
Я про 10 строку
???

0
27.01.2016, 17:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.01.2016, 17:58
Привет! Вот еще темы с ответами:

Класс Вектор. объясните пожалуйста код! - C++
#include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;cstdlib&gt; using namespace std; class TVector { private: double...

Объясните код, пожалуйста, файловый поток - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; using namespace std; void main() { setlocale(LC_ALL, &quot;&quot;); ...

Объясните пожалуйста, как конкретно работает код - C++
Программа считывает из файла фамилии, имена, годы рождения и балы студентов, и записывает в другой файл фамилии, начинающейся с букв А и Б...

Объясните пожалуйста, как работает код. Указатели - C++
Если не сложно, напишите пожалуйста комметнтарии к каждой строке. Никак не могу разобраться. Программа разделяет строку на слова. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru