|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
01.10.2012, 23:58 | #11 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
К char он не приведётся. В этом случае нужно явно его привести к типу, иначе компиль выдаст ошибку.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
02.10.2012, 00:54 | #12 |
C++ hater
СтарожилДжуниор
Регистрация: 19.07.2009
Сообщений: 3,333
|
2Smitt&Wesson
приведется. хотя и выдастся предупреждение об усечении типа и возможной потере данных. предупреждение не ошибка. да и char я в качестве примера привел. основной тезис - результат выражения не зависит от типа переменной, к которой оно присваивается, зависит лишь от типов операндов и правил продвижения типов в выражениях.
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
02.10.2012, 09:24 | #13 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
rvalue приводится к наибольшему типу в выражении.
lvalue не играет роли, если lvalue не хватит то просто выдаст warning и (возможно, зависит от компилятора) runtime ошибку при переполнении. |
02.10.2012, 12:33 | #14 |
C++ hater
СтарожилДжуниор
Регистрация: 19.07.2009
Сообщений: 3,333
|
а вот и нифига. это всего лишь частный случай. по твоему заявлению, результат выражения
Код:
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
02.10.2012, 15:08 | #15 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
10 и 20 - int, так что привидется к int
а вот short lv = char(10) + short(20) будет short // по вашей логике ето int и будет warning Я думаю, что если у cout есть оператор << для short тогда он и выполнится, другое дело какой будет автоматический cast. Последний раз редактировалось waleri; 02.10.2012 в 15:10. |
02.10.2012, 15:23 | #16 | ||
C++ hater
СтарожилДжуниор
Регистрация: 19.07.2009
Сообщений: 3,333
|
2waleri
Цитата:
Цитата:
http://codepad.org/kC0kudXo если тебе больше литералы нравятся - пожалуйста http://codepad.org/V7uPYS1f short-ом он станет уже после присваивания к lvalue. а будет варнинг или нет, зависит от компилятора и ключей компиляции
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance Последний раз редактировалось pproger; 02.10.2012 в 16:03. |
||
02.10.2012, 16:25 | #17 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Хорошо, согласен со следуущей пооправкой: "rvalue приводится к наибольшему типу в выражении, но не меньше чем int"
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Выдает неверное число | ZoomHz | Общие вопросы C/C++ | 2 | 07.03.2012 17:26 |
Неверное определение размера файла? | _SERGEYX_ | Свободное общение | 2 | 17.11.2010 13:28 |
Неверное выполнение программы вычисления | green-tree | Помощь студентам | 2 | 20.08.2010 09:40 |