|
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
|
|||||||||||
Что означает using typename в шаблоне?01.12.2015, 10:59. Показов 6209. Ответов 25
Метки нет (Все метки)
0
|
|||||||||||
| 01.12.2015, 10:59 | |
|
Ответы с готовыми решениями:
25
Шаблоны. Что лучше <class T> или <typename T>? Поясните пожалуйста что означает двоеточие и то что идет после него скажите пожалуйста, что означает здесь b. ,это какия-либо функция или что? |
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
| 01.12.2015, 11:07 | |
Сообщение было отмечено _Valera_ как решение
Решение
C++ 11/ Замена typedef ==> сделали синоним типа T, обозвав его value_type
1
|
|
|
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
|
|
| 01.12.2015, 11:09 [ТС] | |
|
daslex, а в чем смысл?
0
|
|
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
||||||
| 01.12.2015, 11:19 | ||||||
|
Автор кода решил, что ему value_type понятнее чем T,
смысл абсолютно тот же, что у typedef, только синтаксис немного удобнее. можно было сразу написать
Добавлено через 1 минуту Конкретно в этом случае весь смысл - выпендреж. Не по теме: "Я умею юзать С++11, глядите, ущербные."
2
|
||||||
| 01.12.2015, 11:35 | |
|
Не по теме: я тоже об этом думал, но демонстрация знаний С++11 как-то солиднее. Может вообще из видеоуроков ютуба зацепилось и тащится.
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||
| 01.12.2015, 11:37 | ||
|
daslex,
4
|
||
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
||||||
| 01.12.2015, 11:47 | ||||||
|
Вообще не понял.
1
|
||||||
|
Неэпический
|
|||||||||||
| 01.12.2015, 12:05 | |||||||||||
|
daslex, value_type становится виден извне:
2
|
|||||||||||
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
| 01.12.2015, 12:15 | |
|
нет. не понятен. Понятно стало, что именно нельзя, но совсем непонятно когда оно надо.
1
|
|
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
||||||
| 01.12.2015, 12:28 | ||||||
2
|
||||||
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
| 01.12.2015, 12:35 | |
|
Croessmah, Это плохой пример на вопрос "Зачем"? Потому что намного проще создать переменную unsigned int или size_t.
1
|
|
|
19497 / 10102 / 2461
Регистрация: 30.01.2014
Сообщений: 17,813
|
|||||||
| 01.12.2015, 12:41 | |||||||
2
|
|||||||
|
Неэпический
|
||||||||
| 01.12.2015, 12:46 | ||||||||
1
|
||||||||
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
| 01.12.2015, 12:47 | |
|
DrOffset, я о доступе извне. Вообще понял, просто тот первый "пример-не пример" от Croessmah, немного это скрывает из-за слишком сильной упрощенности (оно не очевидно становится).
А Ваш пример к чему, не понял.
0
|
|
|
19497 / 10102 / 2461
Регистрация: 30.01.2014
Сообщений: 17,813
|
|||
| 01.12.2015, 12:50 | |||
|
Мой пример иллюстрирует именно то, о чем говорил ForEveR: у нас есть шаблонный класс, например вектор, тип элемента был передан ему в параметре шаблона. Теперь нам надо узнать, какой тип элемента у типа вектора, чтобы использовать его, например, в другой функции. Для этого и нужен value_type, который нам подскажет "извне" вектора какой у него тип элемента. Мой пример это демонстрирует.
1
|
|||
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|||
| 01.12.2015, 13:01 | |||
|
Не по теме:
Добавлено через 59 секунд
0
|
|||
|
19497 / 10102 / 2461
Регистрация: 30.01.2014
Сообщений: 17,813
|
|||||||
| 01.12.2015, 13:08 | |||||||
|
daslex, наши с Croessmah примеры иллюстрируют абсолютно одинаковое.
value_type - это тип, это не переменная.
А теперь попробуйте к этому value_type (T, типу который был передан в шаблон Vector) достучаться извне. Так понятно ?
1
|
|||||||
| 01.12.2015, 13:08 | |
|
Помогаю со студенческими работами здесь
20
Что означает запись в скобках и что возвращает return
Что-то в шаблоне не так Что означает %s в шаблоне WordPress? Что означает появление письменности (языка), и что означает реформа письменности (языка)? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|