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

Как выделяется память под массив string? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Чтения файла в динамический массив http://www.cyberforum.ru/cpp-beginners/thread650065.html
Добрый день. Файл состоит из 6 столбцов и миллионов рядков. Нужно прочесть все это в динамический массив, проблема заключается в том что файл весит очень много(больше 3 гб). Как можно осуществить подобное?
C++ Скопировать двумерный массив в vector Добрый день всем. подскажите пожалуйста, как скопировать двумерный массив в vector? int i = {0}; vector<vector<int> > _v; _v = i; // Не работает. Есть идеи? весь день колупаюсь. и copy делаю и всё что угодно, в итоге одни ошибки компилятора. Помогите плиз. http://www.cyberforum.ru/cpp-beginners/thread650029.html
Защита const C++
const Int& operator= (const Int& a) Отчего защищает первый const
C++ Определить, попадает ли точка с заданными координатами в область
Написать программу, которая определяет, попадает ли точка с заданными координатами в область, закрашенную из рисунка серым цветом. Результат работы программы вывести в виде текстового со-общения. Параметр R вводится с клавиатуры
C++ Перписать из Си++ в ява http://www.cyberforum.ru/cpp-beginners/thread649907.html
Добрый день, помогите, пожайлуйста, переписать программу на ява. И, если не сложно, объясните в чем там ключевые различия. Заранее благодарен:) #include <iostream> #include <windows.h> using std::cout; using std::endl; using std::cin; inline char *rus( char *s ) // русский текст в консоли { char *t = new char; CharToOem(s,t);
C++ Найти обратную матрицу Здравствуйте, уважаемые программисты! Прощу помощи. Для заданной матрицы A(3,3), найти обратную А в -1 степени. Нужно ли самому в код вписывать свои значения матрицы? #include <iostream.h> #define I 3 #define J 3 main () подробнее

Показать сообщение отдельно
AnreyKazakov
Заблокирован
19.09.2012, 21:26  [ТС]
Решил погуглить на тему "c++ string как выделяется память" и напоролся на собственную тему, в прошлый раз я так и не понял ничего... Что все таки представляет собой тип string? В принципе в рамках одного элемента реально пофиг как он там будет в памяти сидеть. Интересно другое, задаешь например тип вектор, допустим, из 10 элементов string. Вот тут начинается (у меня) путаница с памятью. Вектор выделяет для себя некоторый кусок памяти. Если задать итераторы и не выполнять удаления\добавления элементов в центре контейнера то по идее они не должны менять свое значение. Воооот, тепер вопрос по string у, компилятор наверно каждому элементу стриг выделяет какой-то объем памяти, возможно, если строка превышает количество выделенного для нее "места" то объем для стринга должен увеличиться, но
1.как если элемент находится в векторе? если увеличить объем одной ячейки то итераторы будут указывать или неверно или чушь полную...
2.если увеличится объем памяти для одного стринга в векторе, то это должно повлиять и на увеличение всех остальных элементов.
В общем как не думал, у меня в башке string какая-то безразмерная величина получается...
А, понял, если string это указатель на динамическую память, то вектор string ов всего лишь контейнер с указателями... А там что творится в этой динамической памяти одному богу пожалуй известно...
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru