Форум программистов, компьютерный форум CyberForum.ru

Непонятный вызов Деструкторов при создании списка - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Error 1 error C2447: '{' : missing function header (old-style formal list?) и почему не работает ? и подскажите как пользоваться wcout http://www.cyberforum.ru/cpp-beginners/thread790192.html
Всем привет я начинаю обучаться программированию и сегодня столкнулся с такой проблемой Error 1 error C2447: '{' : missing function header (old-style formal list?) и почему не работает ? и подскажите как пользоваться wcout скажите где я тут ошибся!? #include "stdafx.h" #include "std_lib_facilities.h" #include <iostream> using namespace std; int main(); { CString cs("meow");
C++ Функция , Указатели , С++ , Задачка (среднее арифметическое все введенных чисел) задание было : создать функцию , которая вводит с клавиатуры последовательность целых чисел и после ввода последнего числа выводит на печать в главной функции среднее арифметическое все введенных чисел . параметром функции является количество вводимых чисел. вот прога : #include <iostream.h> double srarifm (int n); void main() { int n,b; do{ http://www.cyberforum.ru/cpp-beginners/thread790182.html
Нужен хороший совет! C++
Всем привет! Народ всем привет у меня вопрос вот я хочу связать свою жизнь с game-developingom(для этого я учу c++ и в скором времени буду учить 3д) ,для этого мне нужен ноутбук(я по 3-4 часа у 2-ого брата сижу за компом) и вот я и подумал изучить верстку, а именно html,css,javascript,cms(для фриланса) реально ли изучать ее паралельно с c++ или я запутаюсь?
C++ Составление грамматики
Кто делал задачу из книги Страуструпа "Принципы и практика использования С++": Напишите программу, проверяющую корректность предложений в соответствии с правилами грамматики английского языка из раздела 6.4.1. Будем считать, что каждое предложение заканчивается точкой, окруженной пробелами. Например, фраза birds fly but the fish swim . является предложением, а фразы but birds fly but the fish...
C++ ЛР: Сравнение сортировок http://www.cyberforum.ru/cpp-beginners/thread790173.html
нужно экспериментально сравнить временную сложность и провести качественный анализ трех сортировок: выбором шейкерная слиянием В коде программы для каждого реализуемого метода сортировки необходимо предусмотреть переменные-счетчики, для определения числа операций попарных сравнений и перестановок элементов, совершенных в ходе выполнения операций сортировки. Результирующие значения...
C++ Не присваевается значение Есть область памяти (строка), условно поделенная на две части A и B. Область B идет сразу после A. Заданы длины обоих частей. Используйте рекурсивный reverse(), чтобы поменять a и b местами. Решение не требует рекурсии, кроме той, что в reverse(). #include <iostream> #include <string.h> #include <string> void reverse(char* s, size_t arg_a, size_t arg_b); подробнее

Показать сообщение отдельно
ITcrusader
Эксперт C++
 Аватар для ITcrusader
176 / 162 / 8
Регистрация: 12.02.2013
Сообщений: 410
19.02.2013, 22:36     Непонятный вызов Деструкторов при создании списка
УУУУУРРРРРАААААААА!!!

Докопался) Вот в чем замес, смари:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
vector<AAA> L;  
     
   L.reserve(3);
 
   L.push_back(AAA(3));
   cout<<"\n";
   
   L.push_back(AAA(7));
   cout<<"\n";
 
   L.push_back(AAA(9));
   cout<<"\n";
     
   return 0;
Т.е. проблема была в том, что вектор каждый раз перераспределял память, когда требовалось добавить еще один элемент. Т.е. выделял по-новой память на 1 больше, для того, чтобы новый элемент поместился. Ну а старую, соответственно, удалял, отчего деструктор вызывался при push_back один раз - для временного объекта и еще для каждого, что до этого уже имелись в векторе, как следствие перераспределения памяти. Если зарезервировать нужное/или большее кол-во мест в памяти - таких издержек не будет. Кстати, это один из примеров оптимального использования vector.


Вот вывод, такой же, как и для списка. Но список не требует перераспределения памяти по понятным соображениям)
Vizvan Konstructor
Vizvan Destructor.

Vizvan Konstructor
Vizvan Destructor.

Vizvan Konstructor
Vizvan Destructor.

Vizvan Destructor.
Vizvan Destructor.
Vizvan Destructor.
 
Текущее время: 20:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru