Автор: Юрий Белоусов · 28.10.2019
При прослушивании музыки с помощью встроенного в Вконтакте аудио проигрывателя, некоторые наблюдательные пользователи могли заметить рядом с некоторыми песнями букву «Е» в квадрате, расположенную справа от трека. И возникающее любопытство просто обязывает выяснить, почему именно эти песни помечены данным значком, а другие – нет.
В этой статье разберемся, что означает буква Е в ВК музыке возле аудиозаписей.
Что происходит с музыкой ВКонтакте сейчас?
В некоторых случаях на музыку социальной сети ВКонтакте наложены ограничения в бесплатном использовании. Например, пользователи не смогут прослушать треки из мобильного приложения в свернутом состоянии. Или, когда телефон блокируется. Эти ограничения снимает платная подписка, хотя ее оформление не является обязательным.
Администрация соц. сети стала массово удалять композиции некоторых исполнителей. Длится это уже с 2012 года, когда артисты начали предъявлять претензии ВКонтакте. Постепенно ограничивался сервис музыки ВК в iOS, до определенного момента, пока в 2015 году он вовсе не закрылся. С тех пор социальная сеть смогла наладить отношения с такими мировыми лидерами в музыкальной индустрии, как Universal Music, Sony Music и Warner Music и теперь сервис музыки ВКонтакте снова возобновил свою работу в Apple. Здесь тоже присутствует буква E в музыке ВК.
Стартовая страница
Если зашел на страницу, не авторизовавшись, первая страница встречает экраном, больше половины которого занимает реклама. Шапка из-за баннера наверху уползла на середину экрана, первое впечатление — стили не загрузились и верстка поплыла, попробую сбросить кэш. Не помогло, зато обновился рекламный блок.
Рисунок 1. Так выглядит стартовая для незарегистрированного пользователя
Баннер в верхней части экрана не содержит элементов управления, хочу посмотреть что ниже и прокручиваю страницу. Результат огорчает, элементы наезжают друг на друга, страница дергается в конвульсиях. А заветный крестик на баннере по какой-то причине появляется и исчезает спонтанно. Обычно я закрываю такие страницы, потому что на ней есть всё, кроме самого важного — музыки. Но сегодня нужно пойти до конца и протестировать сервис.
Рисунок 2. Скроллинг главной для незарегистрированного пользователя
У меня есть доступ к «полной версии» Я.Музыки в рамках подписки ПЛЮС. Посмотрим, за что же предлагается заплатить.
Не буду вдаваться в подробности о размере фонотеки, списке поставщиков контента и прочего, скажу лишь, что при импорте фонотеки из Spotify для тестирования, синхронизировать удалось 63% контента. Музыку слушаю в основном на английском. Ещё 3% треков отсутствуют в оригинале и водятся только в виде ремиксов, ремейков и каверов.
Приложение Boom для скачивания и прослушивания песен VK
Приложение Boom — это партнер ВКонтакте, который помогает легализировать музыку и принимает активное участие в развитии всего сервиса. Приложение Boom дает возможность скачивать треки, после чего их можно прослушивать без подключения. Подписка на музыку ВКонтакте распространяется и на это приложение.
В этой программе есть специальные разделы с новинками, а также с рекомендациями. Есть еще одно весомое преимущество — здесь есть возможность кэшировать контент. А в ленте отражаются записи друзей пользователя, групп, пабликов, где прикреплена композиция.
По мнению многих пользователей — приложение не доработано. Здесь не отделяются при поиске композиции в оригинале от переделанных, добавленных другими пользователями. Как и на странице социальных сетей, здесь можно услышать вместо оригинала Lady Gaga — слабоумный «репчик» какого-нибудь подростка.
Разработчики огласили большое количество функций и возможностей приложения. Среди них плеер с эквалайзером, топ новинок песен на главной странице, умный поиск с множеством фильтров, сохранение композиций на устройство или жесткий диск, создание собственных коллекций. Но пользователи приняли приложение достаточно холодно. В магазине Play Google оно набрало только 1.9 баллов.
Умные плейлисты
Где послушать: на вкладке «Главное» в браузерной версии сервиса или в приложении.
Умные плейлисты составляются на основе того, как вы слушаете музыку. Учитываются пропуски треков, лайки, дизлайки и даже более тонкие нюансы вроде увеличения громкости. Сервис составляет четыре умных плейлиста.
- Плейлист дня. Эта подборка обновляется каждый день. В неё могут входить как знакомые вам, так и новые треки, подобранные на основе предыдущих прослушиваний.
- Плейлист «Тайник». Состоит из треков, которые вы добавили в фонотеку, но ещё не успели послушать. Удобно, если вы недавно наполнили коллекцию несколькими альбомами и не знаете, с прослушивания какого из них начать.
- Плейлист «Дежавю». Эта подборка включает совершенно новые композиции, которые вы ещё не слышали (ну или не слушали в «Яндекс.Музыке»).
- Плейлист «Премьера». Еженедельный дайджест со свежими релизами. По мнению сервиса, они могут вам понравиться.
Что значит буква Т в ВК музыке?
О значке «Т
» было сказано следующее. Цитата: «
Буква
«
Т
» не относится к нашему стандартному функционалу и появляется лишь при наличии стороннего приложения». Также Агент Поддержки рекомендует в будущем не использовать сторонние клиенты, объясняя всё тем, что это довольно-таки опасно для аккаунта и наших данных.
Интересные материалы:
Как обновить установленное приложение? Как обновить все приложения без плей маркета? Как обновлять приложения на андроид? Как обновлять приложения на iOS 14? Как очистить библиотеку приложений? Как очистить кэш приложений MIUI 12? Как очистить кэш приложения на Mac? Как очистить память в приложении здоровье? Как очистить планшет от ненужных приложений? Как очистить приложение?
Главная страница платного пользователя
После авторизации встречает интерфейс Музыки, главное отличие которого в том, что экран не замусорен баннерами. И на том спасибо. В правой части, где раньше красовался Я.Директ, образовалась пустота на четверть экрана. В верхней части пустоты висит промо-баннер некоего плейлиста, открывать баннер не хочется, предложения мне не интересны.
В верхней части экрана расположена поисковая строка, свойственная другим сервисам Яндекса. А также пункты меню, рассмотрю и обозначу опыт взаимодействия.
Главное
— собственно, главная страница. В целом, всё понятно, но сложно считывается информация, чтобы разобраться с расположением элементов меню, управлением и контентом.
Рекомендации
— музыка, которая нравится людям, совпадающим со мной в музыкальных вкусах. Советует обычно то, что уже слушаю, по сути бесполезен. Рекомендации по исполнителям интереснее, советы более похожи на правду. Советы по музыкальным направлениям тоже часто содержат прослушанные ранее композиции, но в целом подходят.
Жанры
— раздел пересекается с главной по контенту, по сути бесполезен, пока не замечаешь полупрозрачную кнопку
Весь список
, а ведь кнопка полезная, почему не выделили? Выбираем нужный жанр и работаем с подборками контента по жанру, а также можем запустить Я.Радио, соответствующее выбранному жанру. Помимо музыкальных направлений оказались полезными метажанры типа
Саундтрек
или
Для занятий
.
Рисунок 3. От изобилия глаза разбегаются, но раздел полезный
Радио
— раздел будет полезен тем, кто хочет побыстрее обучить Музыку под себя. На основании прослушанного ранее и сохраненных плейлистов, сервис будет на гора выдавать рекомендованные треки, лайками/дизлайками совершенствовать знания системы о музыкальных предпочтениях.
Помимо этого есть деление по жанрам
,
настроению
, виду
занятия
, для которого включаю саундтрек, а также по временным периодам (
эпохи
), музыку которого хочется послушать. Результат понравился, но поначалу часто приходилось пропускать неинтересные треки.
В правом верхнем углу традиционно расположена аватарка с меню учётной записи Яндекса. Вернёмся к основному контенту стартовой страницы.
В левой части Экрана нас встречает большой заголовок раздела Главное
. Заголовок вместе с пустотой вокруг него занимает около 20% горизонтальной структуры раздела на главном экране. В результате чего на экране помимо заголовка помещаются только заголовки подразделов
Всё
,
Новые релизы
,
Чарт
,
Немузыка
,
Настроения
и
Жанры
, по сути являющиеся фильтрами для содержимого главной страницы, а также
Умные плейлисты
.
Главным контентом для пользователя Я.Музыка выносит автоматически создаваемые плейлисты. Визуально выполнены в виде плиток. Формирование рассмотрю чуть позже, когда поговорим про рекомендации. Плитки плейлистов анимированы, анимация включается рандомно, привлекает внимание к плиткам. Визуально выглядит дешево за счёт сильного сжатия графики анимашек, на ретине выглядит убого. Шрифты в описании плейлиста меньше, будучи серыми, читаются плохо. Полезная информация — дата формирования плейлиста, на неё можно ориентироваться, выбирая что послушать.
Плейлист дня
— зеленая обложка со счетчиком того сколько дней подряд был прослушан плейлист без перерывов. Не то геймификация, не то каунтер, или просто так. Счётчик выглядит неуместно и непонятно почему есть только на плейлисте дня. Почему не считаются недели в Тайнике и Дежавю? Сам плейлист собирается из популярных среди меня композиций, а также непонятно откуда взявшимися предположениями, стили все перемешаны, ежедневная музыкальная каша, не слушаю.
Тайник
— регулярно обновляется непрослушанными треками из добавленных плейлистов. Как ни странно, подсовывает треки, которые и так слушаю. По моим ощущения, идентичен Плейлисту дня.
Дежавю
обещает, что непрослушанные треки из фонотеки мне понравятся, пока такого не произошло.
Премьера
— наполняется новыми релизами исполнителей понравившихся композиций. Плейлист для меня полезный, позволяет следить за новинками.
Рисунок 4. Плейлисты перемешиваются из-за визуальной схожести
Теперь по функционалу страницы. На главной есть всё, что нужно для серфинга по музыкальной коллекции сервиса, но дизайнерское решение с прыгающими шрифтами, нечитаемыми и маленькими элементами управления и текстами, яркими обложками плейлистов и альбомов сводят на нет юзабилити.
Рисунок 5. Важная информация написано мелко и нужно напрячься, чтобы прочитать
Пройдёмся подробнее. Я открываю страницу, вижу музыку, которую предлагает сервис, вижу строку поиска и разделы, а где же моя музыка? Где мои лайки? Где мои плейлисты? А они тщательно спрятаны в пункте меню, затесавшемся рядом с учетной записью. Моя музыка не менее важная, чем подборки, а подчас и важнее. По крупинке собраны плейлисты для разных случаев, но их небрежно запихали на антресоль.
Рисунок 6. Незаслуженно спрятанная моя музыка
В Моей музыке спрятаны Треки, Альбомы, Исполнители, Плейлисты, Концерты, Друзья и История прослушивания.
Рисунок 7. Внезапно в моей музыке Настройки!
В треках не хватает колонки названия альбома, с которого добавлен трек, вдруг это интересный сборник, попав в который, найдешь ещё с десяток отличных треков? Дата добавления в избранное тоже нужна. Здорово удивиться, что песня, которую слушаешь с удовольствием как в первый раз, добавлена в медиатеку 5 лет назад.
Ого! Пригодилась панель сбоку! В ней отображается куча вроде бы полезной информации о воспроизводимом треке из раздела Треки
! Для этого нужно нажать на кнопку Play на конкретном треке! Простите, что так эмоционально, я уже похоронил пустоту сбоку, но она трепыхнулась, завалила меня текстом песни, видеоклипом с Youtube, большой обложкой альбома и релевантными треками. Странное решение? Соглашусь.
Рисунок 8. Хочется более информативной медиаколлекции
Подразделы Альбомы
,
Исполнители
и
Плейлисты
ничем не примечательны и соответствуют названиям. Это мои альбомы, плейлисты и добавленные исполнители. В
Концертах
значатся мероприятия с участием исполнителей раздела
Исполнители
.
Друзья
наполнены контактами, не имеющими подписки Музыки. Зачем они там не понятно.
История
содержит прослушанное ранее.
В разделе Моя музыка
ещё и
Настройки
есть! Раздел кастомизируется? Не тут-то было, это общие настройки в подразделах
Аккаунт
,
Подписка
и
Уведомления
ничего интересного. Самое важное находится в разделе
Прочее
.
Здесь мы видим переключатель загрузки только HTML-5 или Flash (зачем?) плеера.
Логарифмическая шкала громкости включена по умолчанию, лучше так и оставить, Управление громкостью на слух воспринимается адекватнее.
Добавление новых треков в начало плейлиста, почему не выводите дату добавления трека в плейлист и не даёте сортировать по ней? Ведь так удобнее.
Включение и режима «Бесконечный поток музыки» — опять же, зачем прятать? Функция должна быть доступна на отключение, как бесконечное воспроизведение на ютьюбе. Например, перед сном можно включить альбом чилаута и под него задремать. Как только альбом закончится, воспроизведение остановится, а не будет до утра крутить медленные композиции.
Пара переключателей социальной активности и доступа к медиатеке публикой, странно, что они тут. Им место в разделе Аккаунт
.
Рисунок 9. В Прочем спрятаны важные настройки, место которым на передовой
А самое главное — тут спрятан переключатель темной темы
. Почему так далеко? Почему вопрос переключения темы не автоматизирован, в конце концов? Определять часовой пояс все умеют. Время заката/рассвета известно. Темный режим хочется переключать быстро.
Рисунок 10. Тёмная тема читается лучше светлой даже днём
Пока всё, на что хотел обратить внимание.
Напоследок ещё один финт ушами, который выделывает карточка плейлиста. Минут через 10 с начала использования случайно на карточку нажал мимо элементов управления, и снова пригождается пустота сбоку, справа начинает отображаться плейлист! В Альбомах
и
Исполнителях
то же самое.
Рисунок 11. В шапке на Яндекс нажмёшь — в поисковик попадешь, на Музыку нажмёшь — в Музыку попадешь. Здесь та же «логика»
А если нажать на значок Play, то визуально ничего не поменяется, кроме воспроизведения в плеере внизу страницу. К плееру вопросов нет, кроме того почему нужно тянуться всегда в левый нижний угол, элементы плеера по центру удобнее
. Элементы управления маленькие даже для 13 дюймов экрана, меньше высоты шрифтов заголовков. Значок уровня громкости свернут, чтобы быстро убавить, нужно навести на значок, потом прицелиться и попасть в элемент управления в попапе. Вызов эквалайзера тоже стал открытием после обращения к уровню громкости, кнопка эквалайзера в слайдере громкости вызывает ещё один всплывающий элемент с карточкой со слайдерами частот.
Для начала хватит, думаю, резюмирую проблемы веб-версии:
- Четверть экрана по вертикали занимает пустота и бестолковый промобаннер плейлиста. Пустота совершенно случайно заполняется плейлистом, или информацией о треке, если знать куда нажимать.
- По горизонтали одну пятую экрана занимает заголовок. Страницу явно верстали под экраны 1080+.
Рисунок12. Так выглядит страница на мониторе 1440p
Куча ярких пятен на белом фоне (ночная тема читается лучше), визуально смотрится аляповато, без гармонии и ритма. - Логика работы с интерфейсом не происходит из принципов интутивности, без экспериментов, случайных донельзя, работать не получится не будет понятно.
- Шрифты 6 разных видов усложняют чтение с экрана. Где-то безумной большой заголовок размером со слона, повторяет текст с обложки, где-то полезная информация мельтешит и заставляет напрягать зрение.
- Раздел Жанры можно легко утащить на Главную без потери функциональности.
- Раздел Моя музыка нужно возвращать в общий строй разделов. Он потерялся, а в нём потерялись Настройки. А в Настройках потерялась Темная тема. Понимаете к чему я?
- Логика формирования плейлистов тоже страдает, релевантность предложений к моим музыкальным вкусам низкая. Стриминговые сервисы должны приятно удивлять!
- Меню делит сервис на разделы, а на страницах есть подразделы.
- Жесть с рекламой в бесплатной версии.
- Сайт дергается, нагружает процессор — и это на Яндекс.Браузере? Для сравнения попробуйте скроллинг Spotify и Я.Музыки.
Что значит значок «Е» в Эпл Мьюзик?
Сервис для прослушивания музыки Apple Music, набирает популярность неимоверными темпами. Об этом говорит растущее количество пользователей, которые подключаются ежедневно.
Когда пользователи только начинают пользоваться данным приложением, то в любом случае возникают вопросы и трудности.
Одним из таких является тема, которая касается буквы «E». Когда мы видим её возле песни или альбома, то возможно прослушивание будет заблокированным.
Зачем нужен знак Е в ВК возле песни
Нетрудно догадаться, что подобная маркировка служит для того, чтобы оградить неокрепшие умы от прослушивания музыкальных композиций, содержащих ненормативную лексику, пропаганда наркотиков, алкоголя и подобного. Но по опыту можно судить, что в маркировка композиции специальным значком, заранее подтверждающим факт наличия нецензурных слов в песне, только больше привлечет внимание, тем самым создавая обратный эффект.
Данная маркировка используется в США, начиная с девяностых годов. Все композиции, в которых присутствует мат или откровенные высказывания, обязательно помечаются значком «Е».
Также данную маркировку можно встретить в Apple Music, Яндекс.Музыке и прочих популярных музыкальных каталогах.
A[править | править код]
- a
,
à
(фр. [а]) — на, у, к, с, при, в, до, в роде, в характере, в стиле. - ab
(нем. [ап]) — прочь, снять. - abaisser
(фр. [абэсэ́]) — понижать. - a cappella
[а каппэ́лля] — а капелла, пение без инструментального сопровождения[1]. - a capriccio
[а капри́ччо] — «по желанию» или «произвольно» — музыкальный термин, означающий возможность произвольности в темпе. - accelerando
[аччелера́ндо] (
accel.
) — постепенно ускоряя[1][2]. - accentato
[аччента́то] — с выделением, ударением[1]. - acciaccatura
[аччаккату́ра] — форшлаг, очень быстро исполняемый и сливающийся с основной нотой. - accompagnato
[аккомпаньа́то] — «с аккомпанементом» — аккомпанемент должен следовать любым изменениям в темпе пения. - adagietto
[ададже́тто] — довольно медленно[1]. - adagio
[ада́жио] — медленно, спокойно[1][3]. - adagissimo
[ададжи́ссимо] — очень медленно. - ad libitum
(лат. [ад ли́битум]) (
ad lib.
) — по желанию исполнителя[4]. - affettuoso
[аффэттуо́зо] — очень нежно, мягко, томно, страстно, порывисто[4]. - affrettando
[аффрэтта́ндо] — с поспешностью, торопясь и ускоряясь[4]. - agile
[а́джиле] — бегло, легко, ловко, проворно[4]. - agitato
[аджита́то] — взволнованно, возбуждённо и тревожно[4]. - al
,
alla
[аль, а́лля] — в духе, в роде[5]. - alla breve
[а́лля брэ́вэ] — разбивать такт не на 4 четверти при счёте, а на 2 половинных ноты[5]. - alla marcia
[а́лля ма́рча] — в духе марша. - alla mazurka
[а́лля мацу́рка] — в духе мазурки. - alla mesura
[а́лля мезу́ра] — в темпе, см.
a tempo
[6]. - alla minuetto
[а́лля минюэ́тто] — в духе менуэта. - alla polacca
[а́лля поля́кка] — в духе полонеза[7]. - allargando
[аллярга́ндо] (
allarg.
) — замедляя, расширяя[5]. - allargando un poco
[аллярга́ндо ун по́ко] — немного расширяя. - alla valzer
[а́лля ва́льцэр] — в духе вальса. - alla zoppa
[а́лля цо́ппа] — спотыкаясь, хромая[8]. - allegretto
[аллегрэ́тто] — средне, между
allegro
и
andante
[5], умеренно скоро, оживлённо[3]. - allegro
[алле́гро] — скоро[9]. - allentando
[аллента́ндо] — замедляя[10]. - altissimo
[альти́ссимо] — очень высоко. - amabile
[ама́биле] — любезно, приятно[11]. - amoroso
[ аморо́зо ] — нежно[12]. - ancora
[анко́ра] — ещё, ещё раз. - andante
[анда́нтэ] — спокойно, не спеша[3]. - anime, anima [анимэ, анима] — с душой, душевно, эмоционально.
- andantino
[анданти́но] — немного скорее, чем
andante
[11][3]. - animando
[анима́ндо] — воодушевляя, оживляя[13]. - animato
[анима́то] — одушевлённо, оживлённо[14]. - a piacere
[а пьяче́рэ] — указание исполнителю не придерживаться ритма строго, то есть по желанию и усмотрению[14]. - appassionato
[аппассьёна́то] — страстно[14]. - appoggiatura
[апподджату́ра] — форшлаг[14], занимающий некоторую часть звучания основной ноты. - a prima vista
[а при́ма ви́ста] — с листа (без предварительного знакомства или подготовки). - arco
[а́рко] — играть смычком (в противоположность
pizzicato
)[15]. - ardente
[ардэ́нтэ] — с жаром. - arpeggio
[арпе́дджо] (букв. — «как арфа»[15]) — обозначает, что аккорд должен быть сыгран по одной ноте, а не взят весь сразу[16]. - assai
[асса́и] — очень, весьма[17]. - a tempo
[а тэ́мпо] — в прежнем темпе, восстановление прежнего темпа[17]. - attacca
[атта́кка] — (в конце части) начинать следующую часть сразу, без перерыва в звучании[17].
Для чего нужен Explicit с?
Если спросить C++-программиста о значении ключевого слова explicit
, большинство ответит, что это ключевое слово ставится перед объявлением конструктора с одним параметром (или с большим числом параметров, но когда все параметры, начиная со второго, имеют значения по умолчанию) и предотвращает неявное преобразование …
Интересные материалы:
Как подключить HDMI к MacBook? Как подключить HDMI к макбук? Как подключить HDMI на Mac? Как подключить Huawei FreeBuds 4i? Как подключить Huawei GT 2? Как подключить I Pencil 2? Как подключить Яндекс карты к Android Auto? Как подключить Яндекс карты к андроид авто? Как подключить Яндекс навигатор к Android Auto? Как подключить Яндекс навигатор к Android авто?
Что означает ключевое слово explicit?
ключевое слово explicit сопровождает либо
- конструктор класса X, который нельзя использовать для неявного преобразования первого (только любого) параметра в тип X
в C++ [класс.conv.ctor] 1) конструктор, объявленный без функции-спецификатора explicit, указывает преобразование из типов его параметров в тип его класса. Такой конструктор называется конструктор преобразования.
2) явный конструктор создает объекты так же, как и неявные конструкторы, но делает это только там, где явно используется синтаксис прямой инициализации (8.5) или где приведения (5.2.9, 5.4). Конструктор по умолчанию может быть явным конструктором; такой конструктор будет использоваться для выполнения инициализации по умолчанию или valueinitialization (8.5).
- или функция преобразования, которая учитывается только для прямая инициализация и явное преобразование.
в C++ [класс.conv.fct]
2) функция преобразования может быть явной (7.1.2), и в этом случае она рассматривается только как пользовательское преобразование для прямой инициализации (8.5). В противном случае пользовательские преобразования не ограничиваются назначениями и инициализации.
обзор
явные функции преобразования и конструкторы могут использоваться только для явных преобразований (прямая инициализация или явная операция приведения), в то время как неявные конструкторы и функции преобразования могут использоваться как для явных, так и для неявных преобразований.
/* explicit conversion implicit conversion explicit constructor yes no constructor yes yes explicit conversion function yes no conversion function yes yes */
пример использования конструкции X, Y, Z и функции foo, bar, baz:
давайте посмотрим на небольшую настройку структур и функций, чтобы увидеть разницу между explicit и неexplicit преобразования.
struct Z { }; struct X { explicit X(int a); // X can be constructed from int explicitly explicit operator Z (); // X can be converted to Z explicitly }; struct Y{ Y(int a); // int can be implicitly converted to Y operator Z (); // Y can be implicitly converted to Z }; void foo(X x) { } void bar(Y y) { } void baz(Z z) { }
примеры что касается конструктора:
преобразование аргумента функции:
foo(2); // error: no implicit conversion int to X possible foo(X(2)); // OK: direct initialization: explicit conversion foo(static_cast(2)); // OK: explicit conversion bar(2); // OK: implicit conversion via Y(int) bar(Y(2)); // OK: direct initialization bar(static_cast(2)); // OK: explicit conversion
объект инициализации:
X x2 = 2; // error: no implicit conversion int to X possible X x3(2); // OK: direct initialization X x4 = X(2); // OK: direct initialization X x5 = static_cast(2); // OK: explicit conversion Y y2 = 2; // OK: implicit conversion via Y(int) Y y3(2); // OK: direct initialization Y y4 = Y(2); // OK: direct initialization Y y5 = static_cast(2); // OK: explicit conversion
примеры, касающиеся функций преобразования:
X x1{ 0 }; Y y1{ 0 }; преобразование аргумента функции:
baz(x1); // error: X not implicitly convertible to Z baz(Z(x1)); // OK: explicit initialization baz(static_cast(x1)); // OK: explicit conversion baz(y1); // OK: implicit conversion via Y::operator Z() baz(Z(y1)); // OK: direct initialization baz(static_cast(y1)); // OK: explicit conversion
объект инициализации:
Z z1 = x1; // error: X not implicitly convertible to Z Z z2(x1); // OK: explicit initialization Z z3 = Z(x1); // OK: explicit initialization Z z4 = static_cast(x1); // OK: explicit conversion Z z1 = y1; // OK: implicit conversion via Y::operator Z() Z z2(y1); // OK: direct initialization Z z3 = Z(y1); // OK: direct initialization Z z4 = static_cast(y1); // OK: explicit conversion
зачем использовать explicit функции преобразования или конструкторы?
конструкторы преобразования и неявные функции преобразования могут привнесите двусмысленность.
рассмотрим структуру V, конвертируемых в int, строение U подспудно разобравшись с V и f перегружены для U и bool соответственно.
struct V { operator bool() const { return true; } }; struct U { U(V) { } }; void f(U) { } void f(bool) { }
вызов f неоднозначно при передаче объекта типа V.
V x; f(x); // error: call of overloaded ‘f(V&)’ is ambiguous
компилятор не знает, как использовать конструктор U или функция преобразования для преобразования V объект в тип для передачи f.
если конструктор U или функция преобразования V будет explicit, не было бы никакой двусмысленности, так как рассматривалось бы только неявное преобразование. Если оба являются явными вызов f использование объекта типа V должно быть сделано с использованием явного преобразования или операции приведения.
конструкторы преобразования и неявные функции преобразования может привести к неожиданному поведению.
рассмотрим функцию печати некоторого вектора:
void print_intvector(std::vector const &v) { for (int x : v) std::cout << x << ‘n’; }
если конструктор размера вектора не будет явным, можно будет вызвать функцию следующим образом:
print_intvector(3);
чего можно было ожидать от такого звонка? Одна строка, содержащая 3 или три строки, содержащие 0? (Где происходит второе.)
использование ключевого слова explicit в интерфейсе класса обеспечивает пользователь интерфейса должен быть явным о желаемом преобразовании.
как выразился Бьярне Страуструп (в «языке программирования C++», 4-е изд., 35.2.1, стр. 1011) на вопрос, почему std::duration не может быть неявно построен из простого числа:
если вы знаете, что вы имеете в виду, быть явными об этом.
ID русских песен «Роблокс»
- 2195981163 — Гимн СССР
- 483550829 — Гимн России
- 2542030092 — Никотин
- 2489168236 — Плакала
- 462587970: Одиночество (Слава)
- 2505972201 — Мокрые кроссы
- 2117982662 — Моряк
- 2249428819 — Моя новелла
- 1134236421 — Малиновый закат (Корж)
- 1517642621 — Никто кроме нас (Газманов)
- 2888509078 —Витаминка (Белорусских)
- 2734241553 — Незабудка (Белорусских)
- 3148656782 — Держи (Билан)
- 1205308763 — Огнями (EA7)
- 2534385349 — ВВВ Ленинград (Ленинград)
- 2708149078 — Мне бы в небо (Ленинград)
- 2422443061 — За Роствскую братву (Бутырка)
- 1204333935 — Пятница (EA7)
- 1205359177 — Верните в моду (EA7)
- 2171039905 — Кобра (T-Fest)
- 3111513744 — Улети (T-Fest)
- 3196207162 — Зацепила (Артур Пирожков)
- 1442880821 — Под звуки наших поцелуев (LIZER)
- 2275257213 — Пачка сигар (LIZER)
- 1540971514 —Ложное зеркало (LIZER)
- 1487621357 — Колибри (MiyaGi)
- 1312372838 — Я получил любовь (MiyaGi и Эндшпиль)
- 1616931529 — Половина моя (MiyaGi и Эндшпиль)
- 1263214894 — На моем аккаунте (Kizaru)
- 1755553945 — Медуза
- 347505066 — Cлышь, ты че такая дерзкая
- 2525222363 — Кредо
- 1688203531 — Я п*здатый (Lil Morty)
- 2535363126 — Детство
- 2771680645 — Вот так (Моргенштерн)
- 638188081 — Слово пацана (The Hatters)
- 1412647511 — Вино и Звезды (Лил Морти)
- 2213740965 — Имя (GUERLAIN)
- 1087367437 — Бензопила (JEEMBO & PHARAOH)
- 1212963760 — Глушитель (PHARAOH & Лил морти)
- 2171095234 — Узы моба (PHARAOH)
- 2269938529 — Мой кайф (PHARAOH)
- 2274232285 — Пломбир (PHARAOH)
- 2270175564 — Откровение успешного человека (PHARAOH)
- 2361412803 — На Луне (PHARAOH)
- 1426679839 — Владимирский централ (Михаил Круг)
- 2362253141 — Атас (Любэ)
- 445359367 — Синий иней (Самоцветы)
- 982269634 — Чёрный бумер (Серега)
- 1183241009 — Кукушка (Виктор Цой / Кино)
- 1925489054 — Звезда по имени Солнце (Виктор Цой / Кино)
- 601273000 — Восьмиклассница (Виктор Цой / Кино)
- 1561820764 — Закрой за мной дверь (Виктор Цой / Кино)
- 4373983853 — Грустная песня (Егор Крид)
- 3451822109 — Пчеловод (RASA)
- 4055740895 — Угадай кто (Эш)
- 3805831954 — Егор Натс — Я женюсь на девочке из аниме
- 3298460965 — Егор Натс — Сиги
- 2734125576 — Егор Натс — Где ты
- 3961941006 — Егор Натс — хочу к тебе
- 530154213 — Enjoykin — Котлетки с Пюрешкой
- 3374996665 — MC Копатыч — укуси меня пчела
- 1201137555 — Меня зовут Виталя — И я реальный кекс
- 3239024236 — XXXTENTACION — BAD (ПЕРЕВОД НА РУССКИЙ)
- 2780364884 — PLOHOYPAREN — поворот не туда
- 3983618583 — AMCHI, TERNOVOY — Прочь
- 3761407378 — Бабек Мамедрзаев — Принцесса
- 3294488358 — Джизус — Ван Гог
- 3652877347 — Джизус — золото
- 2786140088 — Джизус — На моих ладонях
- 4047949889 — Джизус — ДЖИЗУС, ТЫ ЮВЕЛИР!
- 2590257570 — Ганвест — Дурман
- 2749035725 — Ганвест — адьёс (remix)
- 4260809377 — Ганвест — Проваливай
- 3730082400 — Jony — без тебя я не я
- 4000306858 — Jony — Аллея
- 3168911699 — Andro — Инопланетянин
- 2677817299 — GAYAZOV$ BROTHER$ — Кредо
- 2887431870 — Нурминский — Мама вылечи
- 2727688314 — MORGENSHTERN & ЛСП — Зеленоглазые Деффки
- 3767981596 — MORGENSHTERN — новый мерин
- 2248491148 — LIZER — На сцене
- 3585329779 — MiyaGi & Эндшпиль — Люби меня
- 2764402982 — PHARAOH — Последний трек на стене
- 3974591784 — V $ X V PRiNCE — На лету
- 1033907322 — FACE — БУРГЕР
- 1007608619 — FACE — Я РОНЯЮ ЗАПАД
- 1178453649 — Элджей — Hey,Guys
- 3172442170 — BIG BABY TAPE — SURNAME