The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выпуск языка программирования Rust 1.45"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Отдельный RSS теперь доступен для каждого обсуждения в форуме и каждого минипортала.
. "Выпуск языка программирования Rust 1.45" +3 +/
Сообщение от Аноним84701 (ok), 20-Июл-20, 13:32 
> Дурачок, это два разных кода.

Умничка моя, эти "коды" соответствуют _твоему_ же сравнению "Даже си компилятор при преобразовании из float в char выдает предупреждение" с новостным "операция преобразования 'as' выполняет проверку на переполнение и ...". Конечно же это будут два разных кода :)

> Аналог твоего сишного кода на расте выглядит так:
> fn main() {
>     let x:u8 = 1.04E+17 as u8;
>     println!("Hello, world! {}",x);
> }

"Спец" ты мой анонимный -- это вот как раз и есть _явное преобразование_ "операцией 'as'".
Как в примере новости. Для того и был приведен аналог того ржавого кода (возможно тебя сбила с толку другая циферка? Так я не гордый, возьму ту из новости):

 
% cat hello2.c && gcc -Wall -Wextra hello2.c && ./a.out
#include <stdio.h>
int main(void) {
        char x = (char)300.0;
    printf("%x",x);
    return 0;
}
7f%
% clang -Wall -Wextra hello2.c &&  ./a.out
28%

Причем, результат в каждом компиляторе "свой", потому что тут это изначально UD.
> If the value of the integral part cannot be represented by the integer type, the behavior is undefined.

такие дела.

>>> Хахахахахаха, вот умора! Даже си компилятор при преобразовании из float в char выдает предупреждение
> Аналог твоего растоманского кода на си:

 #include <stdio.h>
int main(void) {
        char x = 1.04E+17;   <--- неявное преобразование

> И он выводит:
> <source>:3:18: warning: implicit conversion of out of range value from 'double' to
> 'char' is undefined [-Wliteral-conversion]
>>> Даже си компилятор при преобразовании из float в char выдает предупреждение

Кажется, до тебя начинает доходить :).
Теперь-то сможешь объяснить, зачем сравнивал попу-палец^W неявные преобразования в си с явными преобразованиями в ржавчине?

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Выпуск языка программирования Rust 1.45, opennews, 20-Июл-20, 10:21  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру