The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выпуск языка программирования Rust 1.52, opennews (??), 06-Май-21, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


129. "Выпуск языка программирования Rust 1.52"  –1 +/
Сообщение от еуые (?), 07-Май-21, 08:39 
В c++ это неявное преобразование, и в общем-то им гордиться нечего,
больше на ошибку похоже, когда хочешь передать фиксированной длины
массив а передаешь указатель, приходится извращения типа std::array городить,
который всего лишь

struct array {
  T arr[N];
};

то есть приходится массив оборачивать в структуру чтобы нормально передавать

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

201. "Выпуск языка программирования Rust 1.52"  +1 +/
Сообщение от Аноним (201), 07-Май-21, 15:27 
> В c++ это неявное преобразование

Серьёзно? Да ты что. Ух ты.

Почитай стандарт и что такое преобразование. Тут им и не пахнет.

А гордиться тут как раз есть чем, но для этого надо понимать что на самом деле происходит.

Преобразование он там неявное увидел. Тьфу.

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

218. "Выпуск языка программирования Rust 1.52"  +1 +/
Сообщение от Анончик (?), 07-Май-21, 18:39 
ты бы ссылку на стандарт сразу давал, а не газифицировал водные рэсурсы.
Ответить | Правка | Наверх | Cообщить модератору

260. "Выпуск языка программирования Rust 1.52"  +/
Сообщение от Аноним (255), 08-Май-21, 21:50 
> В c++ это неявное преобразование, и в общем-то им гордиться нечего, больше на ошибку похоже,

Это "Standard conversions", глава 4 в C++14 N4140, а не ошибка.

>  когда хочешь передать фиксированной длины массив а передаешь указатель

Массивы никогда не передаются в параметрах в функции. Они преобразовываются в указатели.

"After determining the type of each parameter, any parameter of type “array of T” or “function returning T” is adjusted to be “pointer to T” or “pointer to function returning T,” respectively."

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

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

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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