Вы напишите обе реализации, да так чтобы они удовлетворяли стандартному интерфейсу std::vector. Решите все возникающие сопутствующие вопросы и проблемы. Посмотрите на ограничения вашего решения и потом поймете - почему так не делают в стандартном С++, у которого поддерживаемых платформ немного больше, чем четыре.
Второй вариант семантически отличается от первого. В первом варианте — в случае возникновения исключений внутреннее состояние экземпляра не меняется. Тогда как во втором случае — изменяется и становится неконсистентным.
Это конечно же надо иметь в виду в случае исполнения вне конструктора.
Решить эту проблему можно в рамках регрессионного подхода. Для модели ARIMA можно оставить самый
короткий из имеющихся сезонных периодов. Все остальные периоды будут учитываться с помощью регрессии
на специально построенные признаки. В качестве признаков будут выступать фурье-гармоники с периодами,
пропорциональными длине сезонных периодов (например, 365.25, 365.25/2, 365.25/3 и т.д.). Какое-то количе-
ство таких гармоник необходимо подставить как регрессионную компоненту в регрессионную ARIMA.
Мой минус потому, что статья не выдержала моих ожиданий — рассказанное на уровне первых страниц туториалов. А как сделать действительно сложное десктопное приложение ни сказано было ничего.
1. Стопроцентной уверенности статический анализ, конечно, не даст.
2. Если на верху ожидается отсутствие исключений — то добавление нового исключения никак на это не повлияет.
Конечно, хочется не статического анализа, а контроля на уровне компилятора, который бы не позволил скомпилировать код, который нарушает контракт.
В качестве дополнения, хочу указать вот на этот репозиторий, в котором есть объемный, хотя и немного устаревший (но имеет ли смысл это замечание к WPF), документ о способах локализации в WPF.
Вы напишите обе реализации, да так чтобы они удовлетворяли стандартному интерфейсу std::vector. Решите все возникающие сопутствующие вопросы и проблемы. Посмотрите на ограничения вашего решения и потом поймете - почему так не делают в стандартном С++, у которого поддерживаемых платформ немного больше, чем четыре.
Сделайте переносимое решение (linux + windows, x86+x64 для начала) и наверное идеи какие-то появятся :)
Бедные студенты
Это конечно же надо иметь в виду в случае исполнения вне конструктора.
Думаю вам будет интересно:
softwareengineering.stackexchange.com/questions/205411/why-does-git-use-hashes-instead-of-revision-numbers
https://github.com/gogits/gogs/issues/1644
2. Если на верху ожидается отсутствие исключений — то добавление нового исключения никак на это не повлияет.
Конечно, хочется не статического анализа, а контроля на уровне компилятора, который бы не позволил скомпилировать код, который нарушает контракт.