Программирование >>  Расширенная версия языка c++ 

1 2 3 [ 4 ] 5 6 7 ... 227


Пространства имен

Когда вы включаете в программу заголовок нового стиля, содержание этого заголовка оказывается в пространстве имен std. Пространство имен (namespace) - это просто некая объявляемая область, необходимая для того, чтобы избежать конфликтов имен идентификаторов. Традиционно имена библиотечных функций и других подобных идентификаторов располагались в глобальном пространстве имен (как, например, в С). Однако содержание заголовков нового стиля помещается в пространстве имен std. Позднее мы рассмотрим пространства имен более подробно. Сейчас же, чтобы пространство имен std стало видимым, просто используйте следующую инструкцию:

using namespace std;

Эта инструкция помещает std в глобальное пространство имен. После того как компилятор обработает эту инструкцию, вы сможете работать с заголовками как старого, так и нового стиля.

Если вы работаете со старым компилятором

Как уже упоминалось, заголовки нового стиля и пространства имен появились в C++ совсем недавно, поэтому эти черты языка могут не поддерживаться старыми компиляторами. Если у вас один из таких компиляторов, то при попытке компиляции первых строк кода, приводимых в книге примеров программ, вы получите одно или несколько сообщений об ощиб-ках. Обойти эту проблему просто - удалите инструкцию namespace и- используйте заголовки старого стиля. То есть замените имер, инструкции

jtincliide <iosl-renri>

using namespace std;

на инструкцию

#include <iostream.h> ,

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

И еще одно замечание. Еще в течение нескольких лет вы будете встречать программы, в которых заголовки будут оформлены в старом стиле и не будет инструкций namespace. Ваш компилятор C++ будет прекрасно справляться с такими программами. Тем не менее, что касается новых программ, вам следует использовать современный стиль, поскольку именно он определен стандартом языка Standard C++. Хотя программы прежнего стиля будут поддерживаться еще многие годы, технически они некорректных.



}кненця1

Перед тем как продолжить, попытайтесь откомпилировать представленный выше пример простейшей программы. Хотя эта программа не выполняет никаких действий, попытка ее компиляции поможет определить, поддерживает ли ваш компилятор современный синтаксис C++. Если он не принимает заголовки нового стиля и инструкцию namespace, замените их, как только что было описано. Запомните, если ваш компилятор не принимает код нового стиля, вам придется сделать изменения в каждой программе этой книги.

1.3. Консольный ввод и вывод в C++

Поскольку C++ - это улучшенный С, все элементы языка С содержатся также и в C++. Это подразумевает, что все программы, написанные на С, по умолчанию являются также и программами на C++. (На самом деле имеется несколько очень незначительных исключений из этого правила, которые будут рассмотрены позже.) Поэтому можно писать программы на C++, которые будут выглядеть точно так же, как и программы на С. Ошибки не будет, это только будет означать, что вы не смогли использовать все преимущества C++. Чтобы по достоинству оцените необходимо писать программы в стиле C++.

Вероятно, наиболее своеобразной чертой язхка C++, используемой программистами, является подход к вводу и выводу. Хотя такие функции, как printfO и scanfQ, по-прежнему доступны, С++ обеспечивает иной, лучший способ выполнения этих операций. В C++ ввод/вывод выполняется с использованием операторов, а не функций ввода/вывода. Оператор вывода -эт <<, а оператор ввода >>, Как вы знаете, в С эти операторы являются, соответственно, операторами левого и правого сдвига. В C++ они сохраняют свое первоначальное значение (левый и правый сдвиг), выполняя при этом еще ввод и вывод. Рассмотрим уюшую инструкцию C++:

cou< Эта строка олится на экран.\п ;

Эта инструкция осуществляет вывод строки в заранее определенный поток cout, который автоматически связывается с терминалом, когда программа С++ начинает выполняться. Это напоминает действие функции .stdout в

языке С. Как и в С, терминал для ввода/вывода в C++ может быть переопределен, но пока будем считать, что используется экран.

С помощью оператора вывода можно вывести данные любого базового типа C++. Например, следующая инструкция осуществляет вывод величины 100.99:

couW< 100.99;




Разноетолкование символов является ером перегрузки операторов.

Для правильного использования операторов ввода/вывода в С++ вы должны включить в программу заголовочный файл iostream.h. Он является одним из стандартных заголовочных файлов C++ и поставляется с компилятором.

Ц Примеры

1. В этой программе выводится строка, два целых числа и одно число с плавающей точкой двойной точности:

#include <iostream> . .. ц-y.f.i. j. <

using namespace std;

int main () r

int i, j; double d;

В общем случае, для вывода на экран терминала используется следующая обычная форма оператора :

cout выражение; > 1.1 . - .

Здесь выражение может быть любым действительным выражением C++, включая другие выражения вывода.

Для считывания значения с клавиатуры, используйте оператор ввода >>. Например, в этом фрагменте целая величина вводится в num:

int num; cin num;

Обратите внимание, что переменной num не предшествует амперсанд &. Как вы знаете, при вводе с использованием функции nf() языка С ей должны передаваться адреса переменных. Только тогда они смогут получить значения, вводимые пользователем. В случае использования оператора ввода C++ все происходит иначе. (Смысл этого станет ясен после того, как вы больше

узнаете о C++.)

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

ci переменная; : . ..: \



1 2 3 [ 4 ] 5 6 7 ... 227

© 2006 - 2021 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика