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

Непонятные функции std::vector - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Динамический массив,двумерный с плавающей точкой(коммент кода) http://www.cyberforum.ru/cpp-beginners/thread866212.html
\\Динамический массив,двумерный с плавающей точкой, выделить из массива максимальный прямоугольный блок не содержащий отрицательных чисел, данные перенести в новый массив.Отсортировать элементы последней строки и последнего столбца совместно по убыванию.(Прокомментируйте пожалуйста каждую строчку) #include <iostream> #include <locale.h> #include <string> #include <stdlib.h> #include...
C++ Интеграция кода c++ в java Вот решил переписать пример с одной книги где показано как в код java вставить код c++. Но почему-то много ошибок, не подскажете почему? #include <iostream> #include "A.h" #include "jni.h" JNIEXPORT void JNICALL Java_A_show(JNIEnv *env, jobject obj) { jclass cls; jfieldID fid; jint i; http://www.cyberforum.ru/cpp-beginners/thread866200.html
C++ Помощь с фиксом ошибок
Код: // ConsoleApplication2.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <stdio.h> #define OS_TYPE 0xF0 //0xF0 - Windows, 0x0F - Linux #if OS_TYPE & 0xF0 // Windows
C++ Как контролировать правильность ввода?
В переменные типов unsigned и double нужно записать численное значение. Какие есть способы контроля ввода для избежания ввода символов, слов и строк при этом?
C++ Поиск из считываемого файла http://www.cyberforum.ru/cpp-beginners/thread866177.html
# include <iostream> #define N 100 using namespace std; struct avia { char surname; char initials; // group char city ; // name int number; // price
C++ Сортировать из считываемого файла Как отсортировать из считываемого файла? # include <iostream> #define N 100 using namespace std; struct avia { char surname; char initials; // group char city ; // name подробнее

Показать сообщение отдельно
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
15.05.2013, 19:21     Непонятные функции std::vector
Здорова господа!
Тут я решил своими словами описать стандартные контейнеры их всего 14. Решил описать с примерчиками возможности каждого контейнера, оно и мне полезно стл как раз изучу, да и мб новичок новичку пригодится, а то на офф сайте фиг, что поймешь, а русских ресурсов мало, поэтому решил свой ресурс создать по стл.
Ну а что там стл маленькая 14 контейнеров и 60 алгоритмов все го то.

Ну ладно в общем щас описываю std::vector и тут у меня возникла проблема никак не пойму, что делают эти методы
capacity(), size() и reserve(). Пытаюсь посмотреть, что выводится:
C++
1
2
3
4
5
6
7
8
9
10
11
        vector<int> vec(30,444);//10 элементов, значение 7
    cout <<"vec.size()= "<<vec.size()<<endl;//30
    cout <<"vec.capacity()= "<<vec.capacity()<<endl;//30
    
        vec.reserve(35);//увеличивает емкость 
    cout <<"vec.size()= "<<vec.size()<<endl;//30
    cout <<"vec.capacity()= "<<vec.capacity()<<endl;//35
 
        vec.reserve(35);//увеличивает емкость 
    cout <<"vec.size()= "<<vec.size()<<endl;//30
    cout <<"vec.capacity()= "<<vec.capacity()<<endl;//35
Что такое capacity() это мощьность, а что за мощьность?
И еще reserve() допустим оно меняет размер этой capacity но оно почему то меняет только в большую сторону.
От если я пытаюсь сделать больше то оно меняет на больше, но когда я делаю меньше оно меньше не делает?

Добавлено через 5 минут
Еще эта функция не понятна shrink_to_fit(), она уменьшает capacity но меньше чем 30 в примере выше не делает?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru