Как отключить конструктор QChar(int)?

27 ответов

3 просмотра

В каком смысле отключить? зачем?

vile- Автор вопроса
Vasiliy Sorokin
В каком смысле отключить? зачем?

Меня бесит, что когда я сравниваю число со строкой, получается, что я сравниваю на самом деле строку с символом юникода, имеющим код со значением этого числа Интересно, какой гений догадался такое апи сварганить?

vile
Меня бесит, что когда я сравниваю число со строкой...

Потому т.е. то что int умеет в char вас не смутило, а qchar смутило

Michael Chambers
Потому т.е. то что int умеет в char вас не смутило...

там по разному немного, инт в чар это просто конверсия с с потенциальной потерей значения QChar это типа имеющий отношения к строкам и ктор из инта дает юникод символ

vile
Меня бесит, что когда я сравниваю число со строкой...

А зачем сравнивать число со строкой? И с какой строкой ты его сравниваешь? С QString?

vile- Автор вопроса
Vasiliy Sorokin
там по разному немного, инт в чар это просто конве...

Вот именно, что с потерей, что легко убирается флагом компилятора. А вот неявные вызовы конструктора компилятор не убирает

vile- Автор вопроса
TheDoctor
А зачем сравнивать число со строкой? И с какой стр...

Я же сказал, что по ошибке сравнил, я не хотел этого делать. Да, QString

vile- Автор вопроса
TheDoctor
У QString есть метод toInt.

И? Вы предлагаете мне преобразовывать строку в число, чтобы сравнить его с числом, которое я по невнимательности считал строкой?

vile
И? Вы предлагаете мне преобразовывать строку в чис...

Окей, выяснили что вопрос в вашей невнимательности. Какие вопросы к кьютовым конструкторам и операторам сравнения? :D

vile- Автор вопроса
TheDoctor
Окей, выяснили что вопрос в вашей невнимательности...

Нет. С невнимательностью ничего не поделать. А вот там, где можно страховку без каких-то проблем сделать, надо делать. Дело в публичном конструкторе QChar(int), который вызывается в неожиданных контестах. К оператору сравнения никаких вопросов

vile
Нет. С невнимательностью ничего не поделать. А вот...

Как раз таки это из-за перегрузки оператора сравнения.

vile- Автор вопроса
vile
Нет. С невнимательностью ничего не поделать. А вот...

вы бы всё-таки пример кода привели, чтобы мы с вами вместе повозмущались, а то нифига не понятно, что там вас так расстроило

vile- Автор вопроса
Sergey eSKon
вы бы всё-таки пример кода привели, чтобы мы с вам...

Боже, как же всё сложно🤦‍♀ QString value("42"); // до рефакторинга переменная была типа int ... Много кода спустя if (value == -1){}

vile
Боже, как же всё сложно🤦‍♀ QString value("42"); /...

А надо получается QString(value).toInt() вызывать?

vile
Боже, как же всё сложно🤦‍♀ QString value("42"); /...

и чем возмущение то было? инт с интом сравнивается, что не так то? Если уж приводить фрагмент, то именно тот, который вызвал нарекания.

vile- Автор вопроса
Schrödinger's cat
А надо получается QString(value).toInt() вызывать?

нет! Надо получить сообщение компилятора, что не найдена подходящая перегрузка с указанием места вызова. Ты переходишь к этому месту и меняешь -1 на QLatin1String("-1")

vile- Автор вопроса
vile
вы не джаваскриптер, случаем?

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

Sergey eSKon
вот у меня именно такое подозрение закралось относ...

претензия в том, что после замены int на QString по прежнему можно сравнивать QString("42") != -1 с int и компилятор молчит, поскольку это позволяет интерфейс класса

vile- Автор вопроса
vile- Автор вопроса
Anatoly Shirokov
претензия в том, что после замены int на QString п...

о, спасибо, а то я уже устал. Как будто троллит товарищ

vile
нет

Так семантически мы же числа должны сравнивать, разве нет🤔

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

Обсуждают сегодня

if (user?.choseType === 'oneDay') { await ctx.reply( 'Добро пожаловать в команду «Магнита»! Правда, на один день ☺️ ', ); await ctx.s...
Kokni
1
Читаю сейчас [нет, уже больше не читаю!] курсовую о Булгакове, написанную, похоже, с помощью ChatGPT. Это удивительный психоделический опыт. Текст в основном написан в стиле б...
✨ Uni [🌊 В отпуске]
1
Это фейк @cruppto_newbot?
Antskup
13
всем салют сегодня утро заметил что бот не может отправлять фотки по url. ручками в браузере ссылка норм открывает фотки. падает ошибка 'Bad Request: failed to send message ...
Vasya Ivanov
9
ребят, привет. за какое время бот полученную заявку на вступление в группу может принять \отклонить? Помню речь была про 5 минут, сейчас как?
Роман Ромашин :)
10
Доброго времени суток. Правильно ли я понимаю, что с введением новой платежной единицы stars, я просто могу оставить текущую платёжку от Юкассы, которая выполняется на сайте с...
Prokhor Chulkov
7
Добрый день! Не подскажете как к модели Категории Шопоголика добавить отношение Тейлора. Пробовал по документации, но не получается. Мб уже кто-то делал?
Николай Афанасенко
6
Добрый день! На Odoo 16.0 через 1-2 дня перестают работать кроны. В логах одна только ошибка на момент, когда сработал последний крон. Может кто-то уже с этим разбирался?
Denis Валенчиц
3
вопрос: кто как решает вопрос с динамической подгрузкой скриптов для отдельных страниц с включенным turbo router?
Sergei Toroptsev
25
https://pastebin.com/BC4pjp4u кто-нибудь мне может объяснить почему это так работает и как работает правильно wizard и почему иногда в контекст появляются сообщения от бота, н...
Kokni
1
Карта сайта