![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
![]()
К char он не приведётся. В этом случае нужно явно его привести к типу, иначе компиль выдаст ошибку.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
![]() |
![]() |
![]() |
#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 |
![]() |
![]() |
![]() |
#13 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
rvalue приводится к наибольшему типу в выражении.
lvalue не играет роли, если lvalue не хватит то просто выдаст warning и (возможно, зависит от компилятора) runtime ошибку при переполнении. |
![]() |
![]() |
![]() |
#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 |
![]() |
![]() |
![]() |
#15 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
10 и 20 - int, так что привидется к int
а вот short lv = char(10) + short(20) будет short // по вашей логике ето int и будет warning Я думаю, что если у cout есть оператор << для short тогда он и выполнится, другое дело какой будет автоматический cast. Последний раз редактировалось waleri; 02.10.2012 в 15:10. |
![]() |
![]() |
![]() |
#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. |
||
![]() |
![]() |
![]() |
#17 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
Хорошо, согласен со следуущей пооправкой: "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 |