АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Стандартные потоки cin, cout и cerr

Читайте также:
  1. ВНУТРЕННИЕ МАТЕРИАЛЬНЫЕ ПОТОКИ
  2. Временные русловые потоки.
  3. Глава 4 Невозможное возможно, или нестандартные методы
  4. Грузопотоки на карьерах.
  5. ДЕНЕЖНЫЕ ПОТОКИ
  6. Информационные потоки в логистической системе
  7. Інфологічна модель представляє інформаційні потоки, сутності й зв'язку даної предметної області. Вона може бути представлена у вигляді ER-Моделі й реляційної схеми.
  8. Комплексиметрия. Стандартные растворы, индикаторы комплексонометрического титрования. Определение общей жесткости воды.
  9. Магнітні потоки в зоні комутації
  10. Минимальные стандартные правила обращения с заключенными (одобрены 25 мая 1984 г. Экономическим и Социальным Советом ООН, резолюция 1984/47)
  11. Многоэлементные стандартные образцы состава природных сред.
  12. Нестандартные контексты употребления слов «тийрош» и «шекар»

Стандартным потокам языка С stdin, stdoutи stderr, объявленным в файле STDIO.H, в C++ соответствуют объекты-потоки cin, cout, cerr и clog, подключаемые посредством файла IOSTREAM.H.

cin Объект класса istream, связанный со стандартным потоком ввода
cout Объект класса ostream, связанный со стандартным потоком вывода

cerr Объект класса ostream, не поддерживающий буферизацию и связанный со стандартным потоком ошибок

clog Объект класса ostream, поддерживающий буферизацию и связанный со стандартным потоком ошибок

Все они открываются автоматически во время запуска программы и обеспечи­вают интерфейс между программой и пользователем.

Операторы ввода (>>) и вывода (<<) данных

Ввод-вывод в C++ значительно усовершенствован и упрощен благодаря универ­сальным операторам >> (ввод) и << (вывод). Их универсальность стала возможной благодаря появившемуся в C++ понятию перегрузки операторов, которая заключается в создании функций, имена которых совпадают с именами стандартных операторов языка. Компилятор различает вызов настоящего и "функционального" опера­торов на основании типов передаваемых им операндов. Операторы >> и << перегружены таким образом, чтобы поддерживать все стандартные типы данных C++, включая классы

 


 

33. Использование массивов в С\С++ (очень мало)

Массивы - формальное объединение нескольких однотипных объектов (чисел, символов, строк...).
К необходимости применения массива мы приходим каждый раз, когда требуется связать и использовать целый ряд одно родственных величин.

 

Массив можно представить как переменную, содержащую упорядоченный набор данных одного типа. К каждому элементу массива можно получить доступ по его адресу. В языках C/C++ массив не является стандартным типом данных. Напротив, он сам имеет тип: char, int, float, double и др. Допускается создавать массивы массивов, указателей, структур и др. Принципы построения массивов и работы с ними в основе своей одинаковы в С и C++.

 

34. Использование указателе й и динамической памяти в С\С++

Указатель – переменная, значением которой является адрес ячейки памяти. То есть указатель ссылается на блок данных из области памяти, причём на самое его начало. Указатель может ссылаться на переменную или функцию. Для этого нужно знать адрес переменной или функции. Так вот, чтобы узнать адрес конкретной переменной в С++ существует унарная операция взятия адреса &. Такая операция извлекает адрес объявленных переменных, для того, чтобы его присвоить указателю.

Указатели используются для передачи по ссылке данных, что намного ускоряет процесс обработки этих данных (в том случае, если объём данных большой), так как их не надо копировать, как при передаче по значению, то есть, используя имя переменной. В основном указатели используются для организации динамического распределения памяти, например при объявлении массива, не надо будет его ограничивать в размере. Ведь программист заранее не может знать, какого размера нужен массив тому или иному пользователю, в таком случае используется динамическое выделение памяти под массив. Любой указатель необходимо объявить перед использованием, как и любую переменную.

  //объявление указателя /*тип данных*/ * /*имя указателя*/;

Принцип объявления указателей такой же, как и принцип объявления переменных. Отличие заключается только в том, что перед именем ставится символ звёздочки *. Визуально указатели отличаются от переменных только одним символом. При объявлении указателей компилятор выделяет несколько байт памяти, в зависимости от типа данных отводимых для хранения некоторой информации в памяти. Чтобы получить значение, записанное в некоторой области, на которое ссылается указатель нужно воспользоваться операцией разыменования указателя *. Необходимо поставить звёздочку перед именем и получим доступ к значению указателя. Разработаем программу, которая будет использовать указатели.

 

Динамическая память

Память для них выделяется из области свободной памяти. Метод создания динамических объектов очень важен для многих прикладных задач, где объем хранимых в памяти данных неизвестен заранее перед запуском программы. Примером может служить программа произвольной базы данных, которая для быстрого доступа хранит в памяти записи различного размера.

Хотя в С++ можно использовать функции динамического распределения памяти языка Си, такие, как malloc, однако, С++ содержит некоторые мощные расширения, которые облегчают и делают более надежным динамическое распределение и освобождение объектов.

Речь идет о функциях, которые можно использовать для распределения динамической памяти, - new и delete. Работа с этими функциями строится в стиле операций:

операция new

v

double *d = new double;

delete d;

^

операция delete

Важность операции new заключается в возможности следить за размерами выделяемой памяти, в соответствии с используемыми типами. Без вспомогательной информации, из вышеприведенного примера ясно, что выделено восемь байт для указателя типа double.

Сравните функции new и delete с функциями Си malloc() и free():

В Си указывается

размер C++ (размер не указывается)

v

double *d = malloc(8); double *d = new double;

free(d); delete d;

char *q = malloc(sizeof(int)*10); char *q = new int[10];

free(q); delete[10] q;

Если память выделяется для массива, а не для типа данных со стандартной длиной, то используется следующий синтаксис:

new объект[размер]

Например, чтобы динамически выделить память для массива из 100 целых чисел с именем counts, используйте вызов:

counts = new int [100];

Использование new и delete не только надежней, но и удобней. Они автоматически могут вызываться конструкторами и деструкторами.

Однако, если динамический объект создан с помощью оператора new, то программист несет ответственность за его освобождение, так как С++ "не знает", нужен ли еще этот объект. Для освобождения памяти можно использовать оператор delete. При выполнении оператора delete вызывается любой определенный вами деструктор.
Еще раз уточним, что delete имеет следующий синтаксис:

delete указатель;

где "указатель" - это указатель, который использовался в операторе new для выделения памяти.

 

 


 

36. Базы данных и системы управления базами данных

База данных (БД) представляет собой совокупность структуриро­ванных данных, хранимых в памяти вычислительной системы и ото­бражающих состояние объектов и их взаимосвязей в рассматриваемой предметной области.

Логическую структуру данных, хранимых в базе, называют мо­делью представления данных. К основным моделям представления данных (моделям данных) относятся иерархическая, сетевая, реля­ционная.

Система управления базами данных (СУБД) — это комплекс языко­вых и программных средств, предназначенный для создания, ведения и совместного использования БД многими пользователями. Обычно СУБД различают по используемой модели данных. Так, СУБД, осно­ванные на использовании реляционной модели данных, называют ре­ляционными СУБД.

Для работы с базой данных зачастую достаточно средств СУБД. Однако если требуется обеспечить удобство работы с БД неквалифи­цированным пользователям или интерфейс СУБД не устраивает пользо­вателей, то могут быть разработаны приложения. Их создание требует программирования. Приложение представляет собой программу или комплекс программ, обеспечивающих автоматизацию решения какой-либо прикладной задачи. Приложения могут создаваться в среде или вне среды СУБД — с помощью системы программирования, исполь­зующей средства доступа к БД, к примеру, Delphi или С++ Вuildег. Приложения, разработанные в среде СУБД, часто называют приложе­ниями СУБД, а приложения, разработанные вне СУБД, — внешними приложениями.


 


1 | 2 | 3 | 4 | 5 | 6 | 7 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.)