Форум программистов, компьютерный форум, киберфорум
Наши страницы

Потокобезопасно ли одновременно добавлять в конец list обьекты и удалять из середины? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Удаление последнего символа в файле txt http://www.cyberforum.ru/cpp-beginners/thread1669522.html
Здравствуйте! Помогите пожалуйста! Как можно удалить самый последний символ в конце файла?
C++ Среднее арифметическое модулей четных элементов массива Здравствуйте! Помогите, пожалуйста, найти среднее арифметическое модулей четных элементов массива, расположенных между первым отрицательным и последним положительным элементами. http://www.cyberforum.ru/cpp-beginners/thread1669517.html
C++ Теряется указатель на начало односвязного списка
#include <stdio.h> #include <stdlib.h> #include <iostream> #include <ctype.h> typedef struct Node { struct Node* next; int value; } Node; typedef struct List {
C++ Реализовать функцию поиска по заданному полю в массиве структур (файловый ввод/вывод)
Имеется информация о клиентах телефонной компании и предоставляемых им услугах. Каждая услуга имеет собственный тариф, а каждый клиент может пользоваться произвольным набором услуг в течение...
C++ Перехватывающая Функция с доступом к статичным членам класса http://www.cyberforum.ru/cpp-beginners/thread1669454.html
Возможно ли объявить, Функцию перехватчик таким образом чтобы она имела доступ к переменным класса. Оригинальная функция: void UStruct::Serialize( FArchive& Ar ) { Super::Serialize( Ar ); ...
C++ Адаптация куска кода, написанного по стандарту C++11, под стандарт C++03 есть код namespace cmd { inline auto get_size(const char *path) -> decltype( std::declval<struct dSTATE64>().st_size ) { struct dSTATE64 info; const auto re = dSTATE64(path,... подробнее

Показать сообщение отдельно
Valeryn
77 / 50 / 8
Регистрация: 17.05.2015
Сообщений: 264
26.02.2016, 04:33  [ТС]
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
В конечном итоге в С++11 было принято волевое решение идти по второму пути. 'size' гарантированно константен по времени, т.е. есть счетчик. 'splice' теперь константен по времени только в случае, если перенос элементов делается в рамках одного и тот же списка. При переносе элементов между разными списками 'splice' требует линейного времени.
А разве эта запись в stl_list.h (в gcc) не говорит об обратном? C++14

C++
1
2
3
4
  /**  Returns the number of elements in the %list.  */
      size_type
      size() const _GLIBCXX_NOEXCEPT
      { return std::distance(begin(), end()); }
Если splice линеен, то тогда зачем вообще нужен лист, на фоне других контейнеров, ведь его фича то быстром изменении любых элементов в середине.
(хотя, а разве не быстрее при splice не счетчик пересчитывать, а складывать два счетчика? или это слишком затратная операция?)
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.