-
- Посмотрел. А можно просто описать ОДНУ функцию, инициализирующую
массив, как constexpr? Весь этот выпендреж с перегрузкой операторов
- он необходим? - Cкpипaч(31.12.2023 11:35)
- Можно. Но вы же создадите объект, который с помощью перегрузки
операторов притворится обычным массивом. А с помощью итератора
будет доступен циклу for(auto x : table){] и другим алгоритмам. - VladislavS.(31.12.2023 12:26)
- А просто инициализировать массив? Не меняя его свойств? - Cкpипaч(31.12.2023 12:40)
- Нет. Кто-то должен проитерироваться по всем элементам. Это делает
конструктор класса. Просто функция даст одно значение в месте
вызова. - VladislavS.(31.12.2023 12:45)
- Спасибо, я так и подумал. Т.е. для "прыжка в подпространство" нужен
новый класс. Наследование от стандартных типов в Плюсах не
поддерживается, поэтому сам массив придется делать полем класса (а
можно ли не порождать объект? обращаться только к классу? какая-то
такая магия, вроде бы в Плюсах была?) - Cкpипaч(31.12.2023 12:52)
- Если вы используете какой-то конкретно элемент массива, то весь
массив и не создастся, а просчитается на этапе компиляции. А если
произвольный элемент то либо считать в рантайме, либо весь массив в
памяти. - VladislavS.(31.12.2023 13:23)
- Понятно. Так примерно себе и представлял. С Наступающим! :) - Cкpипaч(31.12.2023 13:48)
- Если вы используете какой-то конкретно элемент массива, то весь
массив и не создастся, а просчитается на этапе компиляции. А если
произвольный элемент то либо считать в рантайме, либо весь массив в
памяти. - VladislavS.(31.12.2023 13:23)
- Спасибо, я так и подумал. Т.е. для "прыжка в подпространство" нужен
новый класс. Наследование от стандартных типов в Плюсах не
поддерживается, поэтому сам массив придется делать полем класса (а
можно ли не порождать объект? обращаться только к классу? какая-то
такая магия, вроде бы в Плюсах была?) - Cкpипaч(31.12.2023 12:52)
- Нет. Кто-то должен проитерироваться по всем элементам. Это делает
конструктор класса. Просто функция даст одно значение в месте
вызова. - VladislavS.(31.12.2023 12:45)
- А просто инициализировать массив? Не меняя его свойств? - Cкpипaч(31.12.2023 12:40)
- Можно. Но вы же создадите объект, который с помощью перегрузки
операторов притворится обычным массивом. А с помощью итератора
будет доступен циклу for(auto x : table){] и другим алгоритмам. - VladislavS.(31.12.2023 12:26)
- Спасибо. Сходу - не нравится, но посмотрю после праздников, может
быть это и есть щастя-нирвана-ригпа :) - Cкpипaч(30.12.2023 22:37)
- Так это не бакс, чтобы всем нравиться, а инструмент позволяющий
делать то что невозможно на православной сишечке. С читабельностью
там всё в порядке для плюсовика ниже среднего уровня. - VladislavS.(30.12.2023 22:41)
- Этот пример с таблицей синуса уже в зубах навяз. Ну да, я на си
таблицу массивом подсовываю, заранее просчитав. Да, в си сделать на
этапе компиляции это нельзя. Да, это может быть полезным
инструментов. Но не безусловным, не определяющим. - POV(30.12.2023 22:43)
- На зубах не на зубах, зато понятен ширнармассам. - VladislavS.(31.12.2023 00:52)
- Про каждый отдельновзятый пример можно сказать "да я это руками
сделаю". - VladislavS.(30.12.2023 22:53)
- Кореш только-только ушел из крупной (очень крупной) айти
компании... POV(529 знак., 30.12.2023 23:06 - 23:28)
- За дефайн вместо констекспр гнать ссаной метлой :))) - VladislavS.(31.12.2023 00:50)
- Неправильно крестится! :-) - SciFi(31.12.2023 09:12)
- Пока в дружной компашке продвинутых кодеров все пишут по понятием,
он один делал работу за пятерых. Пусть теперь сами онанизмом
занимаются, верные механизмы используют. - POV(31.12.2023 00:55)
- То что они не делали целевую работу не отменяет того что надо констекспр использовать. - VladislavS.(31.12.2023 01:09)
- ну тоже позиция. но зачем владение инструментом отождествлять с
блядством? - klen(30.12.2023 23:20)
- Ну выше по ветке и близко такого нет. то знает что-то новое -
трижды молодец. Но навязывать это как ...ммм.. забыл слово.. что-то
церковно-рыцарское... в общем, неправильно (UPD - Священный
Грааль). Каждому овощу своё место... POV(140 знак., 30.12.2023 23:47)
- На церковном и я могу простенько: Так возопьем и возрадуемся, други
мои. Ибо окромя земных другов иных не дано нам. Цените, тех, кто с
вами. - Visitor(30.12.2023 23:56)
- Поддержу.. с наступающим! - POV(31.12.2023 00:01)
- На церковном и я могу простенько: Так возопьем и возрадуемся, други
мои. Ибо окромя земных другов иных не дано нам. Цените, тех, кто с
вами. - Visitor(30.12.2023 23:56)
- Ну выше по ветке и близко такого нет. то знает что-то новое -
трижды молодец. Но навязывать это как ...ммм.. забыл слово.. что-то
церковно-рыцарское... в общем, неправильно (UPD - Священный
Грааль). Каждому овощу своё место... POV(140 знак., 30.12.2023 23:47)
- За дефайн вместо констекспр гнать ссаной метлой :))) - VladislavS.(31.12.2023 00:50)
- Кореш только-только ушел из крупной (очень крупной) айти
компании... POV(529 знак., 30.12.2023 23:06 - 23:28)
- Я больше скажу: нет никаких проблем вставить в процесс сборки
генерацию таблицы синусов иными средствами. И уж точно ради этого я
бы не стал плющить и колбасить сишечку. - SciFi(30.12.2023 22:46)
- Открыть проект в любимой IDE и нажать Build против танцев с бубном по воссозданию окружения для сборки. Да ну на. - VladislavS.(30.12.2023 23:21)
- Как я понял, основные восторги плюсоводов - вокруг темплейтов, в
комбинации вычислениями на этапе компиляции. В этом примере они
хорошо разжеваны. - Cкpипaч(30.12.2023 22:50)
- Может быть. Просто когда к чайнику приделали кофеварку, это ещё
как-то можно было понять. Но после утюга, стиральной машины,
пылесоса возникло недоумение. И этот список постоянно растёт. - SciFi(30.12.2023 22:54)
- ЕвгенийCD еще дохуя-лет-назад здесь сказал: "С++ эффективен не сам
по себе, а только в сочетании со стандартом кодирования и
выделением подмножества языка, для именно вашей предметной
области". Именно в силу того, что туда все это уже затащили, можно
выделить DSL (domain specific language) внутри него, под любую предметною область! Не потратив ни копейки
на создание нового компилятора! Cкpипaч(57 знак., 30.12.2023 23:00)
- Превращение языка в очередной PL/1 и выделение из него упрощенного
языка PL/M конечно же здорово, но зачем оно нужно если есть
оригинальные PL/1 и PL/М? - Boвa(01.01.2024 21:12)
- "Фатальный недостаток" (заговорщически подмигивает) - Cкpипaч(01.01.2024 21:16)
- Вам, программистам, конечно, виднее. Но на мой дилетантский взгляд это натягивание совы на глобус. - SciFi(30.12.2023 23:01)
- Превращение языка в очередной PL/1 и выделение из него упрощенного
языка PL/M конечно же здорово, но зачем оно нужно если есть
оригинальные PL/1 и PL/М? - Boвa(01.01.2024 21:12)
- ЕвгенийCD еще дохуя-лет-назад здесь сказал: "С++ эффективен не сам
по себе, а только в сочетании со стандартом кодирования и
выделением подмножества языка, для именно вашей предметной
области". Именно в силу того, что туда все это уже затащили, можно
выделить DSL (domain specific language) внутри него, под любую предметною область! Не потратив ни копейки
на создание нового компилятора! Cкpипaч(57 знак., 30.12.2023 23:00)
- Может быть. Просто когда к чайнику приделали кофеварку, это ещё
как-то можно было понять. Но после утюга, стиральной машины,
пылесоса возникло недоумение. И этот список постоянно растёт. - SciFi(30.12.2023 22:54)
- Этот пример с таблицей синуса уже в зубах навяз. Ну да, я на си
таблицу массивом подсовываю, заранее просчитав. Да, в си сделать на
этапе компиляции это нельзя. Да, это может быть полезным
инструментов. Но не безусловным, не определяющим. - POV(30.12.2023 22:43)
- Так это не бакс, чтобы всем нравиться, а инструмент позволяющий
делать то что невозможно на православной сишечке. С читабельностью
там всё в порядке для плюсовика ниже среднего уровня. - VladislavS.(30.12.2023 22:41)
- Посмотрел. А можно просто описать ОДНУ функцию, инициализирующую
массив, как constexpr? Весь этот выпендреж с перегрузкой операторов
- он необходим? - Cкpипaч(31.12.2023 11:35)