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

Динамический массив - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывести имена трех худших по баллу http://www.cyberforum.ru/cpp-beginners/thread161954.html
Вот условие На вход программе подаются сведения о сдаче экзаменов учениками 11-х классов некоторой средней школы. В первой строке сообщается количество учеников N, которое не меньше 10, но не превосходит 100, каждая из следующих N строк имеет следующий формат: <Фамилия> <Имя> <оценки>, где <Фамилия> – строка, состоящая не более чем из 20 символов, <Имя> – строка, состоящая не более...
C++ Как определить, что собеседник в данный момент печатает сообщение как в ICQ Думаю многие имеют скайп/асю. И там есть фишка если собеседник набирает сообщение про ето тебе пишет... Как ето реализовать?? http://www.cyberforum.ru/cpp-beginners/thread161948.html
C++ Ошибка в коде при выведении строки
Пишу код для покера. Вот одна из его частей: #include <iostream> #include <time.h> using namespace std; class Pack { string kind_of_prise; int money_prise;
Учебник по C++ полный. C++
Где взять такой учебник где все рассказывается о языке от а до я???
C++ Где взять консольный компилятор? http://www.cyberforum.ru/cpp-beginners/thread161917.html
Надоело мне эти IDE хочу попробывать по программировать в консольном компиляторе, вот только где его взять подскажите пожалуйста. Уже несколько дней ищу ни как немогу найти.
C++ Арифметика указателей есть size_t * pointer_1; logfile_f("\npointer_1 is 0x%X", pointer_1); есть size_t * pointer_2 = pointer_1 - 284; logfile_f("\npointer_2 is 0x%X", pointer_2); в итоге же: pointer_1 is 0x465B414 pointer_2 is 0x465AFA4 подробнее

Показать сообщение отдельно
Juni85
1 / 1 / 0
Регистрация: 22.12.2009
Сообщений: 6

Динамический массив - C++

27.08.2010, 21:15. Просмотров 4145. Ответов 11
Метки (Все метки)

Я постоянно работаю с динамическими массивами в Object Pascal и PHP. Вот внезапно возникла необходимость использования языка C++ и пришлось немного почесать голову )). :confused:

Библиотека <vector> это конечно хорошо, но почему изменение длины массива не реализовано в стандартной библиотеке. А ведь C++ самый успешный и развивающийся язык программирования.

Учитывая тот факт что в С++ можно объявить массив где угодно в теле алгоритма, то преимущества динамического массива перед статическими сужаются к двум:
1. можно создавать (суб)подмассивы произвольной длинны (в принципе существенный фактор);
2. тут же удалить массив из памяти после выполнения необходимых операций (не дожидаясь конца функции и т.п.).

А для Object Pascal преимущества динамического массива увеличиваются как минимум на два:
3. не занимает памяти, пока массив не востребован, т.е. не задана длинна (большой бонус, поскольку переменные объявляются только в разделе var и занимают память от начала алгоритма);
4. можно сколь угодно удлинять и укорачивать массив без потери данных в пределах усечения ( пример SetLength(Massiv, 1) ).

Резонные вопросы:
1. может Object Pascal хитрит, т.е. метод SetLength создает второй массив новой длины и копирует данные с первого и переписывает указатель?
2. или забросили и недоделали данную операцию в С++ поскольку была библиотека <vector> (бред какой-то)? :eek:

Ответы на свои вопросы искал заранее, но нигде ничего не нашел. Может Вы, где что видели или знаете? Заранее благодарен. :rolleyes:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru