42 / 52 / 33
Регистрация: 15.12.2015
Сообщений: 199
1

Параметр const T & val = T() в конструкторе шаблонного класса

08.08.2017, 09:14. Показов 2645. Ответов 4

Добрый день!
Начал разбираться с шаблонами и наткнулся на такой пример:

C++
1
2
3
4
5
6
7
template < typename T >
struct my_class
{
    my_class ( const T & val = T() ) : m_x (val)
    {}
    /* ...  */
};
Объясните пожалуйста конструкцию: const T & val = T()
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.08.2017, 09:14
Ответы с готовыми решениями:

Инициализация шаблонного класса(В конструкторе класса после двоеточия вновь имя класса)
Всем доброго времени суток! Пытаюсь разобраться как работает приведенный мной код. Конкретно,...

Как исправить ошибку if(auto const& (val: stime))
Строка 46 if(auto const&amp; (val: stime)) #include &lt;iostream&gt; #include &lt;stdexcept&gt; #include...

Исключение в конструкторе шаблонного класса
Добрый день! Пишу класс дробей и, соответственно, если пользователь введёт 0 в знаменатель с...

Что значит const в конструкторе класса?
Здравствуйте, не понимаю что значит const в конструкторе класса. Встречался с const только когда он...

4
923 / 830 / 284
Регистрация: 27.07.2012
Сообщений: 2,331
08.08.2017, 09:45 2
Лучший ответ Сообщение было отмечено dopleref как решение

Решение

Цитата Сообщение от dopleref Посмотреть сообщение
Объясните пожалуйста конструкцию: const T & val = T()
Конструктор принимает в кач-ве аргумента константную ссылку на объект типа Т, который можно не задавать - по умолчанию будет передан объект, сконструированный при помощи его конструктора без параметров.

C++
1
2
3
4
int x = 100500;
my_class<int> mc1(10);
my_class<int> mc2(x);
my_class<string> mc3;
0
42 / 52 / 33
Регистрация: 15.12.2015
Сообщений: 199
08.08.2017, 10:03  [ТС] 3
Спасибо за ответ! Теперь все прояснилось.
0
802 / 529 / 157
Регистрация: 27.01.2015
Сообщений: 3,017
Записей в блоге: 1
14.08.2017, 12:09 4
Цитата Сообщение от dopleref Посмотреть сообщение
наткнулся на такой пример:
чо за книга?
0
42 / 52 / 33
Регистрация: 15.12.2015
Сообщений: 199
14.08.2017, 12:32  [ТС] 5
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
чо за книга?
Пример из этой статьи из инета:
https://code-live.ru/post/cpp-templates-part-2/

Пытаюсь разобраться с шаблонами по статьям из интернета,
перед прочтением 1 главы, книги Майерса "Эффективный и современный С++"
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.08.2017, 12:32

Что означает строчка кода val = val & 0xF; ?
Что означает строчка кода? val = val &amp; 0xF; Не понятно использование оператора &amp;

В VC++ параметр const (_variant_t & data) непонятно какой должен быть
Здарствуйте господа Я создаю репорт с помощью 'Report Designer Component' IApplicationPtr pApp;...

В VC++ параметр const (_variant_t & data) непонятно какой должен быть
Господа помогите кто чем может :-) ITablePtr pTable есть ф-я pTable-&gt;SetPrivateData(long...

Как корректно передать в метод шаблонного класса объект шаблонного класса в качестве параметра?
header.h template &lt;class T&gt; class MyVector { public: void swap(MyVector&lt;T&gt;Vector); }...


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

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

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