Перейти к содержанию
Fire Monkey от А до Я
  • 0

Вопрос по С++


DirtyBorov

Вопрос

Сегодня один товарищ сломал мне мозг вот таким кодом:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  int x = 2;
  Label1->Caption = x;
}

И компилятор это схавал! Как?!  Может мне кто нибудь подсказать почему целое, без преобразования присвоилось в лейбу? 
код проверялся на XE10.1

Ссылка на комментарий

Рекомендуемые сообщения

  • 0
1 час назад, wamaco сказал:

все просто:

не явное преобразование

Это я  уже понял, немного поигравшись с разными вариантами. 

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  int x = 3.2;
  Label1->Caption = x; // выведет 3
}

Просто я уже очень давно не писал на С++. Не пойму когда и для чего это сделали. В чем профит? Ведь С++ строго типизированый язык. На мой взгляд это только добавит неявных ошибок. Или я не прав?

Ссылка на комментарий
  • -1
2 минуты назад, Kitty сказал:

чтобы увидеть дробную часть:

double x = 3.2

Да не ужели? :) Ни когда бы не догадался... я же всего то 20 лет программирую.  Это сарказм.
еще могу показать пару вариантов. Например:
Label1->Caption = 15 / 3;
или так

double x = 15, y = 3;

Label1->Caption = x / y;

Улавливаете ход мысли? 

Ссылка на комментарий
  • 0

С чего бы это он строго типизирован?! ВОт Паскаль типизирован. А тут вокруг сплошь неявные преобрзования.

Хавает даже конструкции

    int x = 5;
    Caption = x + "килограмм";

Жаль, работает неправильно ))

Ссылка на комментарий

Присоединяйтесь к обсуждению

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

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...