Навигация
Главная
Поиск
Форум
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
Пример работы с... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
21 ошибка прогр... 65535
Гостевая книга ... 65535
Форум на вашем ... 65535
HACK F.A.Q 65535
Содержание сайт... 65535
Invision Power ... 65535
Программируемая... 65535
Оператор выбора... 65535
Модуль Forms 65535
Реклама
Сейчас на сайте
Гостей: 8
На сайте нет зарегистрированных пользователей

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

Диплом - база данных поставщиков на Delphi (MS Sql Server)+ Пояснительна...
База данных склада на Delphi + Схема БД
Метод половинного деления для нахождения корня уровнения на Turbo Pascal...

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании
Функция-фильтр «умного» массива
Поэтому общепринятым способом является передача контейнера по константной ссылке — это в любом случае гарантирует отсутствие накладных расходов на память и время.

Листинг 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 Ноябрь 03 2013 20:36:26 · 0 Комментариев · 2599 Прочтений · Для печати

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


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



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

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

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

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

Пароль



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

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

Случайные загрузки
Tenis [Исходник н...
PCXReader. Програ...
SUIPack
TelBook
Распознавание тек...
isoCanvas (Редакт...
HTMLredaktor
SODA [Исходник на...
Работа с картотеками
Dreamsoft Progres...
Пример работы с р...
Защита от спама ...
MiniChat
Proeffectimage
Assembler. Практикум
Scrrlcaptoin
Visual Basic Script
Report
Gold Submitter II...
Пишем программы и...

Топ загрузок
Приложение Клие... 100721
Delphi 7 Enterp... 96431
Converter AMR<-... 20212
GPSS World Stud... 16894
Borland C++Buil... 14075
Borland Delphi ... 9920
Turbo Pascal fo... 7295
Калькулятор [Ис... 5770
Visual Studio 2... 5165
FreeSMS v1.3.1 3643
Случайные статьи
Инфографику следуе...
Измерение бесплатн...
Рабочие зеркала Аз...
Шаблоны
Создание 3х массив...
Инструменты ДЛЯ по...
Обычно элемент спи...
Передача данных в ...
Параллельная магис...
Алгоритм Leaky Bucket
Задание: определит...
Описать объект, вк...
Автомат Secret Forest
Найти всю информац...
Списки
Пользовательский и...
Массив образа соде...
Инструменты для по...
Создание справки (...
Класс TGraphic
Конфликт при удалении
Что если это сложно?
Идеалы программиро...
Использование слух...
Объединение SLAAC ...
Статистика



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


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