Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
21 ошибка прогр... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Имитационное мо... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Реклама
Сейчас на сайте
Гостей: 9
На сайте нет зарегистрированных пользователей

Пользователей: 13,362
новичок: uvapke
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

База данных - словарь терминов на Delphi + Пояснительная записка
Создание последовательности окон и передвижение окон по экрану на Turbo ...
База данных студентов на Turbo Pascal (Списки) + Пояснительная записка

Функция-фильтр «умного» массива
Поэтому общепринятым способом является передача контейнера по константной ссылке — это в любом случае гарантирует отсутствие накладных расходов на память и время.

Листинг 5.19. Функция-фильтр «умного» массива
typedef ТАггау::Uint uint;
ТАггау аггау(ТАггау source, double L, double R) { uint count = 0;
for(uint i = 0; i < source.size(); ++i)
if ((L<=source[i])&&(source[i]<=R)) ++count;
TArray result(count);
for(uint i = 0, j = 0; i < source.size(); ++i) if ((L<=source[i])&&(source[i]<=R)) { result[j]=source[i]; ++j; }
return result;
}

// для краткости
// количество элементов
// считаем
// массив-результат

// копируем
// возвращаем массив




Функция сначала считает количество элементов исходного массива, попадающих в заданный диапазон. Затем создается локальный массив требуемого размера и заполняется нужными значениями. Полученный массив возвращается в качестве результата.
Наш массив реализован только для элементов типа double, что является довольно жестким ограничением. В следующей главе мы поговорим о том, как создать более универсальную динамическую структуру.

Резюме
Память в С++ измеряется байтами. Операция sizeof (char) выдает результат, равный 1. Объекты С++ размещаются в трех видах памяти: статической, автоматической и динамической. Вид памяти фактически определяет и время жизни объекта. Для размещения одиночных объектов в динамической памяти используется операция new, для уничтожения — операция delete. Динамические массивы создаются операцией new[], уничтожаются операцией delete[]. При создании динамического массива количество элементов можно задать выражением, вычисляемым во время выполнения. Однако для многомерных динамических массивов разрешается задавать вычисляемое выражение только для самого левого измерения — остальные должны быть заданы константами. Размеры выделяемой динамической памяти зависят от реализации.
Опубликовал Kest November 03 2013 16:36:26 · 0 Комментариев · 2904 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
PHP 5
PHP 5 для "чайников"
SODA [Исходник на...
WinPopup
NotePad Pro [Исхо...
ADVstatusbar
Strawberry Prolog...
TsHintManager
Delphi 7: Для про...
EMSQuickImport
Моделирование дви...
FilesInfo
EMS QuickExport S...
Apollovcl61
AlnComponents
Midi
SearchAndReplace
DiZsubmit
CoolHints2k v1.03
Х. М. Дейтел, П. ...

Топ загрузок
Приложение Клие... 100774
Delphi 7 Enterp... 97828
Converter AMR<-... 20268
GPSS World Stud... 17014
Borland C++Buil... 14191
Borland Delphi ... 10290
Turbo Pascal fo... 7373
Калькулятор [Ис... 5981
Visual Studio 2... 5207
Microsoft SQL S... 3661
Случайные статьи
Основы OLE. Термин...
Класс TImage
Image::Magick или ...
точке, а два бранд...
Формат потока ввод...
• Проникновение ви...
Выбор фонового рис...
Массив
БЛОКИ ДЛЯ ОБРАБО...
4.3.2. Комбинаци...
Типизация перемен...
Добавление и удале...
Сохранение состоян...
Прототип метода
Установка и настро...
Пространство внутр...
Внешняя сортировка...
Инициализация объе...
Протокол PPPoE
Основы перетаскива...
Маршрутизируемый п...
Лексический анализ...
STREAMS и ядро сис...
Команды библиотеки...
или конфигурации м...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?