The OpenNET Project / Index page

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



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

Оглавление

Релиз набора компиляторов GCC 13, opennews (??), 26-Апр-23, (0) [смотреть все]

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


114. "Релиз набора компиляторов GCC 13"  –4 +/
Сообщение от DEF (?), 27-Апр-23, 02:56 
Днищенский язык. Вы только вдумайтесь, в Паскале длина массива и интервал индексов - это составные части типа. Невозможно в одну функцию или процедуру передавать массивы разной длины, так как они имеют разные типы.

type vector1 = array [1..25] of real;
type vector2 = array [2..26] of real;

var
  vec1: vector1;
  vec2: vector2;

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

117. "Релиз набора компиляторов GCC 13"  +2 +/
Сообщение от Аноним (64), 27-Апр-23, 03:58 
> Днищенский язык. Вы только вдумайтесь, в Паскале длина массива и интервал индексов - это составные части типа

Это отличная вещь под названием строгая типизация. Ты еще Аду не видел.

Проблема в том, что ты привык к убогим языкам.

> Невозможно в одну функцию или процедуру передавать массивы разной длины, так как они имеют разные типы.

Ну вообще-то можно:

https://www.freepascal.org/docs-html/ref/refsu68.html

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

181. "Релиз набора компиляторов GCC 13"  +/
Сообщение от Аноним (180), 27-Апр-23, 14:07 
> Днищенский язык. Вы только вдумайтесь, в Паскале длина массива и интервал индексов - это составные части типа. Невозможно в одну функцию или процедуру передавать массивы разной длины, так как они имеют разные типы.

А где нет? А C++, например, `array<T, 10>` и `array<T, 11>` тоже разные типы. В паскале есть и динамические массивы - `array of real`. Днищенский он совсем не поэтому.

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

235. "Релиз набора компиляторов GCC 13"  +/
Сообщение от Аноним (228), 27-Апр-23, 22:59 
Убогие какие-то функции получаются. И всё из-за одного формального параметра размера массива?
поэтому удобно передать информацию: указатель на массив определенных элементов и количество элементов. Для меня это естественно.  
Не забывайте Си разрабатывался как язык для написания операционной системы.
Ответить | Правка | Наверх | Cообщить модератору

253. "Релиз набора компиляторов GCC 13"  +/
Сообщение от Аноним (-), 28-Апр-23, 00:26 
Да даже на си так можно. Если нужно.

typedef struct array10_t { arr[10] };

vs

typedef struct array11_t { uint8_t arr[11] };

И далее вы это by value или by pointer уже не сможете перепутать. Что так то хорошо - спасет от случая когда вы 11-й элемент в массиве на 10 дереференсить пытались. Не то чтоб это совсем не получится, но это будет минимум баг, максимум вулн.

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

255. "Релиз набора компиляторов GCC 13"  +/
Сообщение от Аноним (-), 28-Апр-23, 00:28 
Упс, название типа потеряно. Примерно так: typedef struct array10_t { arr[10] } array10_t;
Ответить | Правка | Наверх | Cообщить модератору

192. "Релиз набора компиляторов GCC 13"  –1 +/
Сообщение от InuYasha (??), 27-Апр-23, 15:08 
Там точно не ":=" ? А днищенство языка там начинается с 1. Потому что.
Ответить | Правка | К родителю #114 | Наверх | Cообщить модератору

210. "Релиз набора компиляторов GCC 13"  –1 +/
Сообщение от Аноним (210), 27-Апр-23, 16:57 
Все нормальные люди считают с 1, в нормальных языках типа Фортрана, Паскаля тоже с 1, в Ада - используются range, в математике нумерация с 1.
И только отбитые сишники решили, что делать индексом сдвиг указателя на голову массива это офигенная идея. К сожалению этого овнокод победил, и остальные начали делать также.
Ответить | Правка | Наверх | Cообщить модератору

212. "Релиз набора компиляторов GCC 13"  +/
Сообщение от Пользователь чебурнетаemail (?), 27-Апр-23, 17:08 
> Все нормальные люди считают с 1, в нормальных языках типа Фортрана, Паскаля
> тоже с 1, в Ада - используются range, в математике нумерация
> с 1.

Ни один истинный шотландец...

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

215. "Релиз набора компиляторов GCC 13"  +1 +/
Сообщение от InuYasha (??), 27-Апр-23, 17:48 
А вы по утрам не приходите в канцтовары покричать на линейки и рулетки? )
Вот, такие же "нормальные" люди, наверно, изобретают лифты с кнопками "4 3 2 1 -1 -2" )
Ответить | Правка | К родителю #210 | Наверх | Cообщить модератору

234. "Релиз набора компиляторов GCC 13"  +/
Сообщение от Аноним (228), 27-Апр-23, 22:47 
Докажите, что для написания ОС такая нумерация было бы лучше?
Ответить | Правка | К родителю #210 | Наверх | Cообщить модератору

294. "Релиз набора компиляторов GCC 13"  +/
Сообщение от Аноним (-), 28-Апр-23, 16:23 
> в математике нумерация с 1.

Нет, в математике нумерация оттуда, откуда удобно. Твоё математическое образование видимо упустило такую тему матана как ряды, где используется исключительно нумерация с нуля, потому что индекс 0 очень удобно порождает показатель степени 0, который даёт нам член ряда без x (c x в нулевой степени). Без него пришлось бы писать конструкции типа x^{i-1}, что увеличивает количество писанины.

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

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

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




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

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