Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Определить, входит ли в массив заданная последовательность символов Задан массив (VAR A: ARRAY OF ' 0'..'9';). Определить, входит ли в него последовательность символов 123, если да. то сколько раз и с каких позиций (N> 3). https://www.cyberforum.ru/ cpp-beginners/ thread1576586.html C++ Ошибки при реализации стека с помощью указателей
Нужно написать программу реализующую стек с помощью указателей, прототипы функций даны. Написал ,но куча ошибок . Помогите пожалуйста , что не так? #define N 2 #include <iostream> #include <cstdlib> using namespace std; void push(float** stack, size_t &size, size_t &capacity, float &element)
C++ Не получается перегрузить оператор вывода для дружественной функции https://www.cyberforum.ru/ cpp-beginners/ thread1576553.html
Не могу понять почему пытаясь перегрузить оператор вывода использую дружественную функцию, я не могу передать объект по значению, это вызывает следующую ошибку: 'const int String::CINLIM' is private В то время как по ссылке, все отлично работает. Определение класса: class String { private: char *str; int len; static int num_strings;
C++ Вычислить частное от деления суммы четных элементов на сумму нечетных https://www.cyberforum.ru/ cpp-beginners/ thread1576545.html
Составить программу где будет последовательность A1, A2, A3..An Где сумма елементов четных будет S1 а нечетных - S2 Вычислить у=S1 / S2 Использовать нужно только библиотеки stdio.h и conio.h
C++ Интересная особенность в работе вектора
Доброе время суток! PS Даже не знаю как вам объяснить не грузя кучей кода, пока попробую на словах но если нужно могу выкинуть весь код! Значит так: Заполняем вектор элементами (имена файлов прочитанные из директории) Вектор имеет структуру: Имя файла (строка) Расширение (строка) Путь (строка) Номер (Инт)
C++ Найти количество нулей в конце записи факториала числа Найти количество нулей в конце записи факториала числа n. Подскажет, кто алгоритм? Или хотя бы в какую сторону копать? Если приведете пример кода, буду безмерно благодарен! https://www.cyberforum.ru/ cpp-beginners/ thread1576518.html
C++ Быстрый перебор восьмизначных чисел на С++ https://www.cyberforum.ru/ cpp-beginners/ thread1576511.html
Доброго всем вечера, можете подсказать как с этим разобраться? Неободимо перебрать все числа от 1 до 12345678 и проверить что в каждом из них встречается по 1 разу каждая цифра
C++ Namespace и static-функция
1. Может ли определение static-функции быть вне-класса? Выдает ошибку, просит перенести в тело 2.Как в файле класса cpp, куда я скидываю определение функий, определить пространство имен или что то типо того, чтоб каждый раз не писать class1:: ?
C++ Заполнить базу даных Привет ребята, нужно заполнить базу данных информацыею про товар. Хочу через стринг. Мне получаеться нужно брать динамечиский масив и стринг? https://www.cyberforum.ru/ cpp-beginners/ thread1576496.html C++ Разработать алгоритм определения координат опор линий С++ задание! Разработать алгоритм определения координат опор линий! https://www.cyberforum.ru/ cpp-beginners/ thread1576470.html
C++ Dev C++ не компилирует
Написал простейший "Hello World" в dev c++, нажимаю "Скомпилировать" (Ctrl+F9) вылетает окошко буквально на пару секунд, потом нажимаю "Отладка", пишет типа: "Проект не откомпилирован" что за ерунда? https://www.cyberforum.ru/attachment.php?attachmentid=599112&stc=1&d=1447099095
C++ Написать функцию стирания элемента двусвязного списка Ребята помогите , завтра надо принести преподу = но я честно незнаю как правильно все сделать и написать . Очень буду ценить если кто-то поможет написать . Написать функцию стирания элемента двусвязного списка Добавлено через 7 минут void Delete(int x) { MyList * temp = list; while ((temp != NULL) && (temp->data != x)) https://www.cyberforum.ru/ cpp-beginners/ thread1576456.html
Эксперт С++
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
16.11.2015, 22:37 0

Вектор классов. Число конструкторов элементов меньше числа деструкторов. Как так ? - C++ - Ответ 8351506

16.11.2015, 22:37. Показов 2124. Ответов 20
Метки (Все метки)

Ответ

Цитата Сообщение от ivanmara Посмотреть сообщение
весь вектор копируется в новый вектор
вектор сам по себе никуда не копируется.
он выделяет новый непрерывный блок памяти,
куда перемещает объекты.
если у них нет конструктора перемещения - тогда копирует.

Цитата Сообщение от ivanmara Посмотреть сообщение
заменяем std::vector на std::list и проблемы как не бывало.
на самом деле все не так однозначно.
и по хорошему нужно делать тесты.

у листа есть свои проблемы.
он не кэшфрендли, и аллоцирует объекты раскидывая их по всей куче.
конечно, здесь многое зависит от аллокатора.
но по дефолту, вставка ещё одного объекта - это тормозная операция по выделению объекта в куче.

настолько тормозная, что при относительно малом количестве элементов,
частая вставка в лист может обойтись дороже,
чем единократный реалок вектора + запуски конструкторов перемещения,
при вставке в серединку.


конструкторы перемещения практически мгновенно отработают
(если по уму сделаны). и вектор может выиграть тест за счет меньшего количества
тормозных операций по выделению памяти.

а реалочится он с запасом, один раз на всю толпу.
в отличие от листа, который делает это для каждого объекта.

Вернуться к обсуждению:
Вектор классов. Число конструкторов элементов меньше числа деструкторов. Как так ? C++
1
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.11.2015, 22:37
Готовые ответы и решения:

Разработка классов, создание конструкторов и деструкторов
Здравствуйте, помогите решить следующее задание: Постpоить класс для pаботы со cтpоками. Класс...

Как реализовать набор конструкторов и деструкторов
Делаю так: #include &lt;iostream&gt; class Time //начало объявления класса { public: //начало...

Порядок вызова конструкторов/деструкторов
Вопрос чисто теоретический. Попробую сформулировать, не ругайте если получится коряво. Например,...

Наследование - вызов конструкторов и деструкторов
Делаю два класса - предок и потомок: class class_1_type { private: int t; public: ...

20
16.11.2015, 22:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.11.2015, 22:37
Помогаю со студенческими работами здесь

Правильное использование конструкторов и деструкторов
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; class Worker...

Задание с использованием конструкторов и деструкторов
Нужна ваша помощь. Само задание: Разработать класс - СТУДЕНТ. В закрытой части определить данные:...

Использование конструкторов и деструкторов
Решить задачу в консольном режиме Даны целые числа K, N и набор из N целых чисел. Если в наборе...

Использование конструкторов и деструкторов
Решить в консольном режиме: Дан набор из N вещественных чисел. Проверить, образует ли данный набор...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru