Пользовательский бросок для строкового представления в C++ (как __ repr __ в Python)

Предыдущие решения по добавлению рамки-тени хорошо работают для людей, которым нужен однотонный фон. Другое решение добавления перехода работает, но необходимость установить длительность / задержку будет означать, что в какой-то момент он может появиться снова.

Мое решение состоит в том, чтобы вместо этого использовать ключевые кадры, чтобы они всегда отображали цвета по вашему выбору.

@-webkit-keyframes autofill {
    to {
        color: #666;
        background: transparent;
    }
}

input:-webkit-autofill {
    -webkit-animation-name: autofill;
    -webkit-animation-fill-mode: both;
}

Пример Codepen: https://codepen.io/-Steve-/pen/dwgxPB

8
задан Slava V 15 July 2009 в 06:31
поделиться

2 ответа

Определите оператор преобразования:

class SomeClass {
public:
    operator std::string () const {
        return "SomeClassStringRepresentation";
    }
};

Обратите внимание, что это будет работать не только при вызовах функций, но и в любом контексте, компилятор попытается сопоставить тип с std :: string - в инициализациях и присваиваниях, операторах и т. Д. Так что будьте осторожны с этим, поскольку слишком легко сделать код трудным для чтения с помощью многих неявных преобразований.

14
ответ дан 5 December 2019 в 08:00
поделиться

Используйте оператор преобразования. Примерно так:

class SomeClass {
public:
    operator string() const { //implement code that will produce an instance of string and return it here}
};
7
ответ дан 5 December 2019 в 08:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: