Добавил:
t.me Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2 семестр / Литература / Язык программирования С++. Краткий курс. Страуструп

.pdf
Скачиваний:
9
Добавлен:
16.07.2023
Размер:
31.34 Mб
Скачать

18

Глава

1.

Основы

1.2.

Программы

С++

является

компилируемым

языком.

Для

работы

программы ее

исход­

ный

текст

должен

быть

обработан

с

помощью

компилятора,

который

создает

объектные

файлы,

объединяемые

компоновщиком

в

выполнимую

програм­

му. Обычно программы на языке С++ состоят из многих файлов с текстами (обычно именуемыми просто исходными файлами).

исходными

Исходный файл 1

Исходный файл2

Объектный

файл 1 Выполнимый

файл Объектный файл2

Выполнимая

программа

создается

для

определенной

комбинации

аппарат­

ного

обеспечения

и

операционной

системы;

ее

нельзя

просто

перенести,

ска­

жем,

из

компьютера

Мае

в

компьютер

с

Windows.

Говоря

о

переноси.мости

программ

С++,

мы

обычно

имеем

в

виду

переносимость

исходного

кода,

т.е.

исходный

код

может

быть

успешно

скомпилирован

и

выполняться

в

разных

системах. Стандарт

ISO

С++

определяет

два

типа

сущностей.

Фундаментш~ьные

возможности языка,

такие

как

встроенные

типы

(например, char

и int) или циклы (например, инструкции for и

while).

 

 

 

 

 

 

 

Ктwпоненты стандартных

библиотек,

такие

как

контейнеры

(на­

пример, vector

и

map) или

операции ввода-вывода

(например,

<< и

getline () ).

 

 

 

 

 

 

 

но

Компоненты стандартной библиотеки представляют собой совершен­ обычный код С++, предоставляемый каждой реализацией языка. То есть

стандартная

библиотека

С++

может

быть

реализована

в

самом

С++

реали­

зуется

-

с

очень

небольшим

использованием

машинного

кода

для

таких

ве­

щей,

как

переключение

контекста

потока).

Это

означает,

что

С++

достаточно

выразителен

и

эффективен

для

самых

сложных

задач

системного

программи­

рования. С++ является

статически

типизированным

языком,

т.е.

тип

каждой

сущно­

сти

(например,

объекта,

значения,

имени

или

выражения) должен

быть

извес­

тен

компилятору

в

точке

использования.

Тип

объекта

определяет

набор

при­

менимых

к

нему

операций.