Как указано в ответе на мой вопрос , я буду использовать векторы только для изменения размера до N, чтения и записи n-го элемента, где n
PS Изменение размера и копирование блоков будет необходимо редко.
РЕДАКТИРОВАТЬ: Как требовал Дэвид Родригес - dribeas, это программа технического анализа.Исторические цены на акции хранятся в виде баров OHLC в векторах.Поэтому мне действительно нужно хранить элементы в векторах.Также есть некоторые другие классы калькуляции, называемые индикаторами, которые делают вычисления, основанные на ценах акций.Когда через tcp поступила новая цена, вначале акция обновляет свои бары и немедленно вызывает все методы расчета связанных индикаторов, говоря: «Хорошо, ребята, мой n-й бар был обновлен в это особое время. Идите сами».Все операции основаны на задачах, то есть акция никогда не обновляет себя до завершения последнего обновления, и аналогичным образом индикатор никогда не выполняет вычисления, пока идет последняя.Одна задача за раз.И если новые обновления продолжают поступать слишком быстро, их можно кэшировать как задачи.Таким образом, акция может дождаться окончания своего последнего обновления, и индикатор может аналогичным образом сохранять свои задачи, пока он рассчитан, НО акция не должна ждать окончания работы своих индикаторов.Вот где начинается проблема.Если приходит обновление, запас сначала просматривает размер вектора бара и проверяет, нужно ли изменить его размер.При необходимости он изменяет размеры своих векторов, в то время как некоторые предыдущие индикаторы могут работать до предыдущего обновления.Индикатор может достичь своих данных о запасах, поскольку данные могут быть изменены.До сих пор у меня не было никаких проблем, потому что вычисления индикатора были сделаны очень очень быстро.Но я обеспокоен.В качестве решения акция может сгенерировать второй больший вектор бара и сообщить своим индикаторам, что они могут достичь второго вектора для будущих расчетов.В конце концов, через пару секунд весь доступ к первому вектору пропадает, и его можно аккуратно удалить.