Появилась новая версия Polynomial.zip 19.04.02 (
https://yadi.sk/d/ld3T0Fvv_Oz6-Q) Архив немного реорганизован. Класс немного доработан.
Я потратил много времени на изучение и анализ нескольких примеров разработок из GitHub.com... Я же не зря просил написать мне пример класса, хотя бы неполный, но правильно реализованный: безопасный и эффективный. Изученные мною примеры не являются ни безопасными, ни тем более эффективными. Отчет -- в новых документах CppVector.pdf (рассмотрены 3 примера нешаблонных классов) и CppTemplateA.pdf (5 примеров шаблонов). Сначала я планировал выпустить их в виде части отчета о собственной попытке написать классовый шаблон, но очень уж они разрослись, поэтому лучше их выпустить в виде самостоятельных документов.
А вот попыткой переписать класс в шаблонный занялся всерьез -- точнее, это будет наследственная иерархия шаблонов. По возможности, не повторяя глупостей рассмотренных примеров из GitHub, а придумывая свои собственные новые. Надеюсь, это будет полезный опыт для начинающих проектировщиков.
-- 02.04.2019, 11:12 --photon1. Я бы не стал грузить математика лямбда-функциями. Но тут могут быть разные мнения. К счастью, для однотипных слагаемых есть еще и std::plus<>()
2. Чисто для меня. А как продолжить вот это
Код:
using T1 = int;
std::vector<T1> v1{1, 2, 3, 4, 5};
std::vector<T1> v2{1, 2, 4};
Если речь идет о чисто векторах, для математика это бессмыслица. Но если это коэффициенты многочленов, то вопрос актуален.