Как стандартное преобразование может включать в себя преобразование, определяемое пользователем?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Как стандартное преобразование может включать в себя преобразование, определяемое пользователем?

Сообщение Anonymous »

Я пытаюсь понять следующий язык с cppreference.com (выделено мной):

Каждому типу стандартной последовательности преобразования назначается один из трех ранги:
  • Точное соответствие: преобразование не требуется, преобразование lvalue в rvalue, преобразование квалификации, преобразование указателя функции (начиная с C++17), определяемое пользователем преобразование типа класса в тот же класс
  • Продвижение: целочисленное преобразование, продвижение с плавающей запятой
  • Преобразование: целочисленное преобразование, преобразование с плавающей запятой, преобразование с плавающей запятой, преобразование указателя, преобразование указателя в член, логическое преобразование, определяемое пользователем преобразование производного класса в его базовый класс
Из обсуждения неявных преобразований следует, что стандартная последовательность преобразований не может включать преобразование, определяемое пользователем. Скорее, неявное преобразование состоит либо только из стандартных преобразований, либо из одного определяемого пользователем преобразования, помещенного между двумя стандартными последовательностями преобразования (возможно, нулевой длины).
Так как же тогда такое может быть? стандартное преобразование может включать в себя преобразование, определяемое пользователем? А каков пример пользовательского преобразования типа класса в тот же класс или пользовательского преобразования класса в его базу? Например, пользовательский конструктор копирования считается стандартным преобразованием и поэтому может быть соединен с настоящим пользовательским преобразованием в той же последовательности неявного преобразования? Может ли кто-нибудь привести простой пример того, как пользовательское преобразование рассматривается как стандартное преобразование, подобное этому, или объяснить, почему я неправильно читаю цитируемый текст?

Подробнее здесь: https://stackoverflow.com/questions/790 ... conversion
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»