<?php
echo "<p class=bmenu><span class=MsoHyperlink><a href=\"#_Toc219968084\">Справочное\n";
echo "Руководство<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>239</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><span style='font-variant:normal !important;\n";
echo "text-transform:uppercase'><a href=\"#_Toc219968085\">1. Введение<span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>239</span></a></span></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><span style='font-variant:normal !important;\n";
echo "text-transform:uppercase'><a href=\"#_Toc219968086\">2. Договоренности о Лексике<span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>239</span></a></span></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968087\">2.1\n";
echo "Комментарии<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>239</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968088\">2.2\n";
echo "Идентификаторы (Имена)<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>239</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968089\">2.3 Ключевые\n";
echo "Слова<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>239</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968090\">2.4\n";
echo "Константы<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>240</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968091\">2.4.1 Целые\n";
echo "Константы<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>240</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968092\">2.4.2 Явно\n";
echo "Заданные Длинные Константы<span style='color:windowtext;display:none;\n";
echo "text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>240</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968093\">2.4.3\n";
echo "Символьные Константы<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>240</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968094\">2.4.4\n";
echo "Константы с Плавающей Точкой<span style='color:windowtext;display:none;\n";
echo "text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>241</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968095\">2.4.5\n";
echo "Перечислимые Константы<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>241</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968096\">2.4.6\n";
echo "Описанные Константы<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>241</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968097\">2.5 Строки<span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>241</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968098\">2.6\n";
echo "Харктеристики Аппаратного Обеспечения<span style='color:windowtext;display:\n";
echo "none;text-decoration:none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>241</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><span style='font-variant:normal !important;\n";
echo "text-transform:uppercase'><a href=\"#_Toc219968099\">3. Запись Синтаксиса<span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>242</span></a></span></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><span style='font-variant:normal !important;\n";
echo "text-transform:uppercase'><a href=\"#_Toc219968100\">4. Имена и Типы<span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>242</span></a></span></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968101\">4.1 Область\n";
echo "Видимости<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>242</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968102\">4.2\n";
echo "Определения<span style='color:windowtext;display:none;text-decoration:none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>243</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968103\">4.3\n";
echo "Компоновка<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>243</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968104\">4.4 Классы\n";
echo "Памяти<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>243</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968105\">4.5 Основные\n";
echo "Типы<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>244</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968106\">4.6\n";
echo "Производные Типы<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>244</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><span style='font-variant:normal !important;\n";
echo "text-transform:uppercase'><a href=\"#_Toc219968107\">5. Объекты и Lvalue (Адреса)<span\n";
echo "style='color:windowtext;display:none;text-decoration:none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>245</span></a></span></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><span style='font-variant:normal !important;\n";
echo "text-transform:uppercase'><a href=\"#_Toc219968108\">6. Преобразования<span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>245</span></a></span></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968109\">6.1 Символы\n";
echo "и Целые<span style='color:windowtext;display:none;text-decoration:none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>245</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968110\">6.2 Float и\n";
echo "Double<span style='color:windowtext;display:none;text-decoration:none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>246</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968111\">6.3\n";
echo "Плавающие и Целые<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>246</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968112\">6.4\n";
echo "Указатели и Целые<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>246</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968113\">6.5 Unsigned<span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>246</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968114\">6.6\n";
echo "Арифметические Преобразования<span style='color:windowtext;display:none;\n";
echo "text-decoration:none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>247</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968115\">6.7\n";
echo "Преобразования Указателей<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>247</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968116\">6.8\n";
echo "Преобразования Ссылок<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>247</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><span style='font-variant:normal !important;\n";
echo "text-transform:uppercase'><a href=\"#_Toc219968117\">7. Выражения<span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>248</span></a></span></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968118\">7.1 Основные\n";
echo "Выражения<span style='color:windowtext;display:none;text-decoration:none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>248</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968119\">7.2 Унарные\n";
echo "Операции<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>250</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968120\">7.2.1\n";
echo "Увеличение и Уменьшение<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>251</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968121\">7.2.2 Sizeof<span\n";
echo "style='color:windowtext;display:none;text-decoration:none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>252</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968122\">7.2.3 Явное\n";
echo "Преобразование Типа<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>252</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968123\">7.2.4\n";
echo "Свободная Память<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>252</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968124\">7.3\n";
echo "Мультипликативные Операции<span style='color:windowtext;display:none;\n";
echo "text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>253</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968125\">7.4\n";
echo "Аддитивные Операции<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>254</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968126\">7.5 Операции\n";
echo "Сдвига<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>254</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968127\">7.6 Операции\n";
echo "Отношения<span style='color:windowtext;display:none;text-decoration:none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>255</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968128\">7.7 Операции\n";
echo "Равенства<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>255</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968129\">7.8 Операция\n";
echo "Побитовое И<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>255</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968130\">7.9 Операция\n";
echo "Побитовое Исключающее ИЛИ<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>255</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968131\">7.10\n";
echo "Операция Побитовое Включающее ИЛИ<span style='color:windowtext;display:none;\n";
echo "text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>256</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968132\">7.11\n";
echo "Операция Логическое И<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>256</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968133\">7.12\n";
echo "Операция Логическое ИЛИ<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>256</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968134\">7.13\n";
echo "Условная Операция<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>256</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968135\">7.14\n";
echo "Операции Присваивания<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>257</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968136\">7.15\n";
echo "Операция Запятая<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>257</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968137\">7.16\n";
echo "Перегруженные Операции<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>257</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968138\">7.16.1\n";
echo "Унарные Операции<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>258</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968139\">7.16.2\n";
echo "Бинарные Операции<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>258</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968140\">7.16.3\n";
echo "Особые Операции<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>258</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><span style='font-variant:normal !important;\n";
echo "text-transform:uppercase'><a href=\"#_Toc219968141\">8. Описания<span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>258</span></a></span></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968142\">8.1\n";
echo "Спецификаторы Класса Памяти<span style='color:windowtext;display:none;\n";
echo "text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>259</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968143\">8.2 Спецификаторы\n";
echo "Типа<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>260</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968144\">8.3\n";
echo "Описатели<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>261</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968145\">8.4 Смысл\n";
echo "описателей<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>262</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968146\"><span\n";
echo "lang=EN-US>8.4.1 </span>Примеры<span style='color:windowtext;display:none;\n";
echo "text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>264</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968147\">8.4.2\n";
echo "Массивы, Указатели и Индексирование<span style='color:windowtext;display:none;\n";
echo "text-decoration:none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>265</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968148\">8.5 Описания\n";
echo "Классов<span style='color:windowtext;display:none;text-decoration:none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>266</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968149\">8.5.1\n";
echo "Статические Члены<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>267</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968150\">8.5.2\n";
echo "Функции Члены<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>268</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968151\">8.5.3\n";
echo "Производные Классы<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>269</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968152\">8.5.4\n";
echo "Виртуальные Функции<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>270</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968153\">8.5.5\n";
echo "Конструкторы<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>270</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968154\">8.5.6\n";
echo "Преобразования<span style='color:windowtext;display:none;text-decoration:none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>271</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968155\">8.5.7\n";
echo "Деструкторы<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>272</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968156\">8.5.8\n";
echo "Свободная Память<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>272</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968157\">8.5.9\n";
echo "Видимость Имен Членов<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>273</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968158\">8.5.10\n";
echo "Друзья<span style='color:windowtext;display:none;text-decoration:none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>273</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968159\">8.5.11\n";
echo "Функция Операция<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>274</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968160\">8.5.12 Структуры<span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>275</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968161\">8.5.13\n";
echo "Объединения<span style='color:windowtext;display:none;text-decoration:none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>275</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968162\">8.5.14 Поля\n";
echo "Бит<span style='color:windowtext;display:none;text-decoration:none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>275</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968163\">8.5.15 Вложенные\n";
echo "Классы<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>276</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968164\">8.6\n";
echo "Инициализация<span style='color:windowtext;display:none;text-decoration:none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>276</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968165\">8.6.1 Список\n";
echo "Инициализаторов<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>277</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968166\">8.6.2\n";
echo "Объекты Классов<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>278</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968167\">8.6.3 Ссылки<span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>279</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968168\">8.6.4\n";
echo "Массивы Символов<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>279</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968169\">8.7 Имена\n";
echo "Типов<span style='color:windowtext;display:none;text-decoration:none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>280</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968170\">8.8 Typedef\n";
echo "- Определение Типа<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>280</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968171\">8.9\n";
echo "Перегруженные Имена Функций<span style='color:windowtext;display:none;\n";
echo "text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>282</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968172\">8.10\n";
echo "Описания Перечислений<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>283</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968173\">8.11\n";
echo "Описание Asm<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>284</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><span style='font-variant:normal !important;\n";
echo "text-transform:uppercase'><a href=\"#_Toc219968174\">9. Операторы<span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>284</span></a></span></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968175\">9.1 Оператор\n";
echo "Выражение<span style='color:windowtext;display:none;text-decoration:none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>284</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968176\">9.2\n";
echo "Составной Оператор, или Блок<span style='color:windowtext;display:none;\n";
echo "text-decoration:none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>284</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968177\">9.3 Условный\n";
echo "Оператор<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>284</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968178\">9.4 Оператор\n";
echo "While<span style='color:windowtext;display:none;text-decoration:none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>285</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968179\">9.5 Оператор\n";
echo "Do<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>285</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968180\">9.6 Оператор\n";
echo "For<span style='color:windowtext;display:none;text-decoration:none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>285</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968181\">9.7 Оператор\n";
echo "Switch<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>286</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968182\">9.8 Оператор\n";
echo "Break<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>287</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968183\">9.9 Оператор\n";
echo "Continue<span style='color:windowtext;display:none;text-decoration:none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>287</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968184\">9.10\n";
echo "Оператор Return<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>287</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968185\">9.11\n";
echo "Оператор Goto<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>287</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968186\">9.12\n";
echo "Помеченные Операторы<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>288</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968187\">9.13 Пустой\n";
echo "Оператор<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>288</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968188\">9.14\n";
echo "Оператор Описание<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>288</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><span style='font-variant:normal !important;\n";
echo "text-transform:uppercase'><a href=\"#_Toc219968189\">10. Определения Функций<span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>289</span></a></span></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><span style='font-variant:normal !important;\n";
echo "text-transform:uppercase'><a href=\"#_Toc219968190\">11. Командные Строки\n";
echo "Компилятора<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>290</span></a></span></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968191\">11.1 Замена\n";
echo "Лексем<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>291</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968192\">11.2\n";
echo "Включение Файлов<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>291</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968193\">11.3\n";
echo "Условная Компиляция<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>292</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968194\">11.4\n";
echo "Управление Строкой<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>293</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><span style='font-variant:normal !important;\n";
echo "text-transform:uppercase'><a href=\"#_Toc219968195\">12. Константные Выражения<span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>293</span></a></span></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><span style='font-variant:normal !important;\n";
echo "text-transform:uppercase'><a href=\"#_Toc219968196\">13. Соображения Мобильности<span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>294</span></a></span></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><span style='font-variant:normal !important;\n";
echo "text-transform:uppercase'><a href=\"#_Toc219968197\">14. Краткое Изложение\n";
echo "Синтаксиса<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>294</span></a></span></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968198\">14.1\n";
echo "Выражения<span style='color:windowtext;display:none;text-decoration:none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>294</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968199\">14.2\n";
echo "Описания<span style='color:windowtext;display:none;text-decoration:none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>297</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968200\">14.3\n";
echo "Операторы<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>300</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968201\">14.4 Внешние\n";
echo "определения<span style='color:windowtext;display:none;text-decoration:none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>300</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968202\">14.5\n";
echo "Препроцессор<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>301</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><span style='font-variant:normal !important;\n";
echo "text-transform:uppercase'><a href=\"#_Toc219968203\">15. Отличия от C<span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>301</span></a></span></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968204\">15.1\n";
echo "Расширения<span style='color:windowtext;display:none;text-decoration:none'> </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>301</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968205\">15.2 Сводка\n";
echo "Несовместимостей<span style='color:windowtext;display:none;text-decoration:\n";
echo "none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>302</span></a></span></p>\n";
echo "\n";
echo "<p class=menu><span class=MsoHyperlink><a href=\"#_Toc219968206\">15.3\n";
echo "Анахронизмы<span style='color:windowtext;display:none;text-decoration:none'>_ </span><span\n";
echo "style='color:windowtext;display:none;text-decoration:none'>303</span></a></span></p>\n";
echo "\n";
echo "<h1><a name=\"_Toc219968084\">Справочное Руководство</a></h1>\n";
echo "\n";
echo "<h2><a name=\"_Toc219968085\">1. Введение</a></h2>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Язык программирования С++ - это C*, расширенный введени­ем классов,\n";
echo "inline-функций, перегруженных операций, перегру­женных имен функций,\n";
echo "константных типов, ссылок, операций уп­равления свободной памятью, проверки\n";
echo "параметров функций. Коротко различия между С++ и &quot;старым С&quot; приведены\n";
echo "в #15. В этом руководстве описывается язык на Июнь 1985.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-autospace:none'>--------------------</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>* &quot;Язык программирования Си&quot; Брайэна В.\n";
echo "Кернигана и Ден­ниса М. Ритчи. Это руководство было построено на основе Спра­вочного\n";
echo "Руководства по Языку C (&quot;C Programming Language - Reference Manual&quot;)\n";
echo "системы UNIX V с разрешения AT&amp;T Bell Laboratories. (прим. автора)</p>\n";
echo "\n";
echo "<h2><a name=\"_Toc219968086\">2. Договоренности о Лексике</a></h2>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Есть шесть классов лексем: идентификаторы, ключевые\n";
echo "сло­ва, константы, строки, операторы и прочие разделители. Симво­лы пробела,\n";
echo "табуляции и новой строки, а также комментарии (собирательно - &quot;белые\n";
echo "места&quot;), как описано ниже, игнорируют­ся, за исключением тех случаев,\n";
echo "когда они служат разделителя­ми лексем. Некое пустое место необходимо для\n";
echo "разделения иден­тификаторов, ключевых слов и констант, которые в противном\n";
echo "случае окажутся соприкасающимися.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Если входной поток разобран на лексемы до данного симво­ла,\n";
echo "принимается, что следующая лексема содержит наиболее длинную строку символов из\n";
echo "тех, что могут составить лексему.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968087\">2.1 Комментарии</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Символы /* задают начало комментария,\n";
echo "заканчивающегося символами */. Комментарии не могут быть вложенными. Символы /\n";
echo "/ начинают комментарий, который заканчивается в конце строки, на которой они\n";
echo "появились.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968088\">2.2 Идентификаторы (Имена)</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Идентификатор - последовательность букв и цифр произ­вольной длины.\n";
echo "Первый символ обязан быть буквой. Подчерк '_' считается за букву. Буквы в\n";
echo "верхнем и нижнем регистрах явля­ются различными.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968089\">2.3 Ключевые Слова</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Следующие идентификаторы зарезервированы для\n";
echo "использова­ния в качестве ключевых слов и не могут использоваться иным образом:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>asm auto break case char</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>class const continue default delete</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>do double else enum extern</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>float for friend goto if</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>inline int long new operator</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>overload public register return short</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>sizeof static struct switch this</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>typedef union unsigned virtual void</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>while</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Идентификаторы signed и volatile зарезервированы\n";
echo "для применения в будущем.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968090\">2.4 Константы</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Как описано ниже, есть несколько видов констант. В\n";
echo "#2.6 приводится краткая сводка аппаратных характеристик, которые влияют на их\n";
echo "размеры.</p>\n";
echo "\n";
echo "<h4><a name=\"_Toc219968091\">2.4.1 Целые Константы</a></h4>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Целая константа, состоящая из последовательности\n";
echo "цифр, считается восьмиричной, если она начинается с 0 (цифры ноль), и\n";
echo "десятичной в противном случае. Цифры 8 и 9 не являются восьмиричными цифрами.\n";
echo "Последовательность цифр, которой пред­шествует 0х или 0Х, воспринимается как\n";
echo "шестнадцатиричное це­лое. В шестнадцатеричные цифры входят буквы от а или А до\n";
echo "f или F, имеющие значения от 10 до 15. Десятичная константа, значение которой\n";
echo "превышает наибольшее машинное целое со зна­ком, считается длинной (long);\n";
echo "восьмеричная и шестнадцатерич­ная константа, значение которой превышает\n";
echo "наибольшее машинное целое со знаком, считается long; в остальных случаях целые\n";
echo "константы считаются int.</p>\n";
echo "\n";
echo "<h4><a name=\"_Toc219968092\">2.4.2 Явно Заданные Длинные Константы</a></h4>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Десятичная, восьмиричная или шестнадцатиричная\n";
echo "констан­та, за которой непосредственно стоит l (латинская буква\n";
echo "&quot;эль&quot;) или L, считается длинной константой.</p>\n";
echo "\n";
echo "<h4><a name=\"_Toc219968093\">2.4.3 Символьные Константы</a></h4>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Символьная константа состоит из символа,\n";
echo "заключенного в одиночные кавычки (апострофы), как, например, 'х'. Значением\n";
echo "символьной константы является численное значение символа в машинном наборе\n";
echo "символов (алфавите). Символьные константы считаются данными типа int.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Некоторые неграфические символы, одиночная кавычка ' и\n";
echo "обратная косая \, могут быть представлены в соответствие со следующей таблицей\n";
echo "escape-последовательностей:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:19.8pt;margin-bottom:.0001pt;text-autospace:none'>символ новой\n";
echo "строки NL(LF) \n</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:19.8pt;margin-bottom:.0001pt;text-autospace:none'>горизонтальная\n";
echo "табуляция NT \t</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:19.8pt;margin-bottom:.0001pt;text-autospace:none'>вертикальная\n";
echo "табуляция VT \v</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:19.8pt;margin-bottom:.0001pt;text-autospace:none'>возврат на\n";
echo "шаг BS \b</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:19.8pt;margin-bottom:.0001pt;text-autospace:none'>возврат\n";
echo "каретки CR \r</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:19.8pt;margin-bottom:.0001pt;text-autospace:none'>перевод\n";
echo "формата FF \f</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:19.8pt;margin-bottom:.0001pt;text-autospace:none'>обратная\n";
echo "косая \ \\</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:19.8pt;margin-bottom:.0001pt;text-autospace:none'>одиночная\n";
echo "кавычка (апостроф) ' \'</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:19.8pt;margin-bottom:.0001pt;text-autospace:none'>набор битов\n";
echo "0ddd \ddd</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:19.8pt;text-autospace:none'>набор битов 0xddd \xddd</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Escape-последовательность \ddd состоит из обратной\n";
echo "ко­сой, за которой следуют 1, 2 или 3 восьмеричных цифры, задаю­щие значение\n";
echo "требуемого символа. Специальным случаем такой консрукции является \0 (не\n";
echo "следует ни одной цифры), задающая пустой символ NULL. Escape-последовательность\n";
echo "\xddd состоит из обратной косой, за которой следуют 1, 2 или 3 шестнадцати­ричных\n";
echo "цифры, задающие значение требуемого символа. Если сле­дующий за обратной косой\n";
echo "символ не является одним из перечис­ленных, то обратная косая игнорируется.</p>\n";
echo "\n";
echo "<h4><a name=\"_Toc219968094\">2.4.4 Константы с Плавающей Точкой</a></h4>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Константа с плавающей точкой состоит из целой\n";
echo "части, десятичной точки, мантиссы, е или Е и целого показателя сте­пени\n";
echo "(возможно, но не обязательно, со знаком). Целая часть и мантисса обе состоят из\n";
echo "последовательности цифр. Целая часть или мантисса (но не обе сразу) может быть\n";
echo "опущена; или деся­тичная точка, или е(Е) вместе с целым показателем степени (но\n";
echo "не обе части одновременно) может быть опущена. Константа с плавающей точкой\n";
echo "имеет тип double.</p>\n";
echo "\n";
echo "<h4><a name=\"_Toc219968095\">2.4.5 Перечислимые Константы</a></h4>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Имена, описанные как перечислители, (см. #8.5) являются\n";
echo "константами типа int.</p>\n";
echo "\n";
echo "<h4><a name=\"_Toc219968096\">2.4.6 Описанные Константы</a></h4>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Объект (#5) любого типа может быть определен как\n";
echo "имеющий постоянное значение во всей области видимости (#4.1) его име­ни. В\n";
echo "случае указателей для достижения этого используется декларатор *const; для объектов,\n";
echo "не являющихся указателями, используется описатель const (#8.2).</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968097\">2.5 Строки</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Строка есть последовательность символов,\n";
echo "заключенная в двойные кавычки: &quot;...&quot;. Строка имеет тип &quot;массив\n";
echo "символов&quot; и класс памяти static (см. #4 ниже), она инициализируется за­данными\n";
echo "символами. Все строки, даже если они записаны одина­ково, различны. Компилятор\n";
echo "располагает в конце каждой строки нулевой (пустой) байт \0 с тем, чтобы\n";
echo "сканируюшая строку программа могла найти ее конец. В строке перед символом двой­ной\n";
echo "кавычки &quot; обяэательно должен стоять \; кроме того, могут использоваться те\n";
echo "же escape-последовательности, что были опи­саны для символьных констант. И,\n";
echo "наконец, символ новой строки может появляться только сразу после \, тогда оба,-\n";
echo "\ и символ новой строки,- игнорируются.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968098\">2.6 Харктеристики Аппаратного Обеспечения</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>В нижеследующей таблице собраны некоторые харктеристики аппаратного\n";
echo "обеспечения, различающиеся от машины к машине.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-autospace:none'><span\n";
echo "lang=EN-US>============================================================</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:66.0pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>!DEC VAX-11 !   Motorola  !  IBM 370  !  AT&amp;T 3B</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "6.65pt;margin-left:66.0pt;text-autospace:none'><span lang=EN-US>!  ASCII               !\n";
echo "ASCII                     ! EBCDIC            ! ASCII</span></p>\n";
echo "\n";
echo "<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0\n";
echo " style='margin-left:2.4pt;border-collapse:collapse'>\n";
echo " <tr>\n";
echo "  <td width=106 valign=top style='width:79.2pt;border:double windowtext 2.25pt;\n";
echo "  border-right:solid windowtext 1.0pt;padding:0cm 2.4pt 0cm 2.4pt'>\n";
echo "  <p class=MsoNormal style='margin-top:6.65pt;text-autospace:none'><span\n";
echo "  lang=EN-US>char     !</span></p>\n";
echo "  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US>int      !</span></p>\n";
echo "  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US>short    !</span></p>\n";
echo "  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US>long     !</span></p>\n";
echo "  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US>float    !</span></p>\n";
echo "  <p class=MsoNormal style='text-autospace:none'>double   !</p>\n";
echo "  <p class=MsoNormal style='text-autospace:none'>указатель!</p>\n";
echo "  <p class=MsoNormal style='text-autospace:none'>диапазон !</p>\n";
echo "  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US>float    !</span></p>\n";
echo "  <p class=MsoNormal style='text-autospace:none'>диапазон<span lang=EN-US> !</span></p>\n";
echo "  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US>double   !</span></p>\n";
echo "  <p class=MsoNormal style='text-autospace:none'>тип char !</p>\n";
echo "  <p class=MsoNormal style='text-autospace:none'>тип поля !</p>\n";
echo "  <p class=MsoNormal style='text-autospace:none'>порядок  !</p>\n";
echo "  <p class=MsoNormal style='margin-bottom:6.65pt;text-autospace:none'>полей   \n";
echo "  !</p>\n";
echo "  </td>\n";
echo "  <td width=106 valign=top style='width:79.2pt;border-top:double windowtext 2.25pt;\n";
echo "  border-left:none;border-bottom:double windowtext 2.25pt;border-right:solid windowtext 1.0pt;\n";
echo "  padding:0cm 2.4pt 0cm 2.4pt'>\n";
echo "  <p class=MsoNormal style='margin-top:6.65pt;text-autospace:none'>8 бит</p>\n";
echo "  <p class=MsoNormal style='text-autospace:none'>32 бит</p>\n";
echo "  <p class=MsoNormal style='text-autospace:none'>16 бит</p>\n";
echo "  <p class=MsoNormal style='text-autospace:none'>32 бит</p>\n";
echo "  <p class=MsoNormal style='text-autospace:none'>32 бит</p>\n";
echo "  <p class=MsoNormal style='text-autospace:none'>64 бит</p>\n";
echo "  <p class=MsoNormal style='margin-left:6.6pt;text-autospace:none'>32 бит</p>\n";
echo "  <p class=MsoNormal style='margin-top:13.3pt;text-autospace:none'>»10e»38</p>\n";
echo "  <p class=MsoNormal style='margin-top:13.3pt;text-autospace:none'>»10e»38</p>\n";
echo "  <p class=MsoNormal style='text-autospace:none'>знаковый</p>\n";
echo "  <p class=MsoNormal style='text-autospace:none'>знаковый</p>\n";
echo "  <p class=MsoNormal style='text-autospace:none'>справа</p>\n";
echo "  <p class=MsoNormal style='margin-bottom:6.65pt;text-autospace:none'>налево</p>\n";
echo "  </td>\n";
echo "  <td width=125 valign=top style='width:93.6pt;border-top:double windowtext 2.25pt;\n";
echo "  border-left:none;border-bottom:double windowtext 2.25pt;border-right:solid windowtext 1.0pt;\n";
echo "  padding:0cm 2.4pt 0cm 2.4pt'>\n";
echo "  <p class=MsoNormal style='margin-top:6.65pt;margin-right:0cm;margin-bottom:\n";
echo "  0cm;margin-left:6.6pt;margin-bottom:.0001pt;text-autospace:none'>8 бит</p>\n";
echo "  <p class=MsoNormal style='margin-left:6.6pt;text-autospace:none'>16 бит</p>\n";
echo "  <p class=MsoNormal style='margin-left:6.6pt;text-autospace:none'>16 бит</p>\n";
echo "  <p class=MsoNormal style='margin-left:6.6pt;text-autospace:none'>32 бит</p>\n";
echo "  <p class=MsoNormal style='margin-left:6.6pt;text-autospace:none'>32 бит</p>\n";
echo "  <p class=MsoNormal style='margin-left:6.6pt;text-autospace:none'>64 бит</p>\n";
echo "  <p class=MsoNormal style='margin-left:6.6pt;text-autospace:none'>32 бит</p>\n";
echo "  <p class=MsoNormal style='margin-top:13.3pt;margin-right:0cm;margin-bottom:\n";
echo "  0cm;margin-left:6.6pt;margin-bottom:.0001pt;text-autospace:none'>»10e»38</p>\n";
echo "  <p class=MsoNormal style='margin-top:13.3pt;margin-right:0cm;margin-bottom:\n";
echo "  0cm;margin-left:6.6pt;margin-bottom:.0001pt;text-autospace:none'>»10e»38</p>\n";
echo "  <p class=MsoNormal style='margin-left:6.6pt;text-autospace:none'>без знака</p>\n";
echo "  <p class=MsoNormal style='margin-left:6.6pt;text-autospace:none'>без знака</p>\n";
echo "  <p class=MsoNormal style='margin-left:6.6pt;text-autospace:none'>слева</p>\n";
echo "  <p class=MsoNormal style='margin-top:0cm;margin-right:0cm;margin-bottom:6.65pt;\n";
echo "  margin-left:6.6pt;text-autospace:none'>направо</p>\n";
echo "  </td>\n";
echo "  <td width=125 valign=top style='width:93.6pt;border-top:double windowtext 2.25pt;\n";
echo "  border-left:none;border-bottom:double windowtext 2.25pt;border-right:solid windowtext 1.0pt;\n";
echo "  padding:0cm 2.4pt 0cm 2.4pt'>\n";
echo "  <p class=MsoNormal style='margin-top:6.65pt;text-autospace:none'>! 8 бит</p>\n";
echo "  <p class=MsoNormal style='text-autospace:none'>! 32 бит</p>\n";
echo "  <p class=MsoNormal style='text-autospace:none'>! 16 бит</p>\n";
echo "  <p class=MsoNormal style='text-autospace:none'>! 32 бит</p>\n";
echo "  <p class=MsoNormal style='text-autospace:none'>! 32 бит</p>\n";
echo "  <p class=MsoNormal style='text-autospace:none'>! 64 бит</p>\n";
echo "  <p class=MsoNormal style='text-autospace:none'>! 24 бит</p>\n";
echo "  <p class=MsoNormal style='text-autospace:none'>!</p>\n";
echo "  <p class=MsoNormal style='text-autospace:none'>! »10e»76</p>\n";
echo "  <p class=MsoNormal style='text-autospace:none'>!</p>\n";
echo "  <p class=MsoNormal style='text-autospace:none'>! »10e»76</p>\n";
echo "  <p class=MsoNormal style='text-autospace:none'>! без знака</p>\n";
echo "  <p class=MsoNormal style='text-autospace:none'>! без знака</p>\n";
echo "  <p class=MsoNormal style='text-autospace:none'>! слева</p>\n";
echo "  <p class=MsoNormal style='margin-bottom:6.65pt;text-autospace:none'>! направо</p>\n";
echo "  </td>\n";
echo "  <td width=106 valign=top style='width:79.2pt;border:double windowtext 2.25pt;\n";
echo "  border-left:none;padding:0cm 2.4pt 0cm 2.4pt'>\n";
echo "  <p class=MsoNormal style='margin-top:6.65pt;margin-right:0cm;margin-bottom:\n";
echo "  0cm;margin-left:6.6pt;margin-bottom:.0001pt;text-autospace:none'>8 бит</p>\n";
echo "  <p class=MsoNormal style='margin-left:6.6pt;text-autospace:none'>16 бит</p>\n";
echo "  <p class=MsoNormal style='margin-left:6.6pt;text-autospace:none'>16 бит</p>\n";
echo "  <p class=MsoNormal style='margin-left:6.6pt;text-autospace:none'>32 бит</p>\n";
echo "  <p class=MsoNormal style='margin-left:6.6pt;text-autospace:none'>32 бит</p>\n";
echo "  <p class=MsoNormal style='margin-left:6.6pt;text-autospace:none'>64 бит</p>\n";
echo "  <p class=MsoNormal style='margin-left:6.6pt;text-autospace:none'>32 бит</p>\n";
echo "  <p class=MsoNormal style='margin-top:13.3pt;margin-right:0cm;margin-bottom:\n";
echo "  0cm;margin-left:6.6pt;margin-bottom:.0001pt;text-autospace:none'>»10e»38</p>\n";
echo "  <p class=MsoNormal style='margin-top:13.3pt;margin-right:0cm;margin-bottom:\n";
echo "  0cm;margin-left:6.6pt;margin-bottom:.0001pt;text-autospace:none'>»10e»308</p>\n";
echo "  <p class=MsoNormal style='margin-left:6.6pt;text-autospace:none'>без знака</p>\n";
echo "  <p class=MsoNormal style='margin-left:6.6pt;text-autospace:none'>без знака</p>\n";
echo "  <p class=MsoNormal style='margin-left:6.6pt;text-autospace:none'>слева</p>\n";
echo "  <p class=MsoNormal style='margin-top:0cm;margin-right:0cm;margin-bottom:6.65pt;\n";
echo "  margin-left:6.6pt;text-autospace:none'>направо</p>\n";
echo "  </td>\n";
echo " </tr>\n";
echo "</table>\n";
echo "\n";
echo "<h2><a name=\"_Toc219968099\">3. Запись Синтаксиса</a></h2>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>По используемым в данном руководстве синтаксическим\n";
echo "пра­вилам записи синтаксические категории выделяются курсивом а литеральные\n";
echo "слова и символы шрифтом постоянной ширины. Аль­тернативные категории\n";
echo "записываются на разных строках. Необя­зательный терминальный или нетерминальный\n";
echo "символ обозначается нижним индексом &quot;opt&quot;, так что</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:19.8pt;text-autospace:none'>(* выражение opt *)</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-indent:33.0pt;text-autospace:\n";
echo "none'>указывает на необязательность выражения в фигурных скоб­ках. Синтаксис\n";
echo "кратко изложен в #14.</p>\n";
echo "\n";
echo "<h2><a name=\"_Toc219968100\">4. Имена и Типы</a></h2>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Имя обозначает(денотирует) объект, функцию, тип,\n";
echo "значе­ние или метку. Имя вводится в программе описанием (#8). Имя может\n";
echo "использоваться только внутри области текста программы, называемой его областью\n";
echo "видимости. Имя имеет тип, определяю­щий его использование. Объект - это область\n";
echo "памяти. Объект имеет класс памяти, определяющий его время жизни. Смысл зна­чения,\n";
echo "обнаруженного в объекте, определяется типом имени, ис­пользованного для доступа\n";
echo "к нему.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968101\">4.1 Область Видимости</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Есть четыре вида областей видимости: локальная,\n";
echo "файл, программа и класс.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Локальная: Имя, описанное в блоке (#9.2), локально в этом\n";
echo "блоке и может использоваться только в нем после места описания и в охватываемых\n";
echo "блоках. Исключение составляют метки (#9.12), которые могут использоваться в\n";
echo "любом месте функции, в которой они описаны. Имена формальных параметров функции\n";
echo "рассматриваются так, как если бы они были описаны в самом внешнем блоке этой\n";
echo "функции.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Файл: Имя, описанное вне любого блока (#9.2) или класса\n";
echo "(#8.5), может использоваться в файле, где оно описано, после места описания.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Класс: Имя члена класса локально для его класса и может\n";
echo "использоваться только в функции члене этого класса (#8.5.2), после примененной\n";
echo "к объекту его класса (#7.1) операции . или после примененной к указателю на\n";
echo "объект его класса (#7.1) операции -&gt;. На статические члены класса (#8.5.1) и\n";
echo "функции члены можно также ссылаться с помощью операции :: там, где имя их\n";
echo "класса находится в области видимости. Класс, описанный внутри класса (#8.5.15),\n";
echo "не считается членом, и его имя при­надлежит охватывающей области видимости.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Имя может быть скрыто посредством явного описания того же\n";
echo "имени в блоке или классе. Имя в блоке или классе может быть скрыто только\n";
echo "именем, описанным в охватываемом блоке или классе. Скрытое нелокальное имя\n";
echo "также может использоваться, когда его область видимости указана операцией ::\n";
echo "(#7.1). Имя класса, скрытое именем, которое не является именем типа, все равно\n";
echo "может использоваться, если перед ним стоит class, struct или union (#8.2). Имя\n";
echo "перечисления enum, скрытое име­нем, которое не является именем типа, все равно\n";
echo "может исполь­зоваться, если перед ним стоит enum (#8.2).</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968102\">4.2 Определения</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Описание (#8) является определением, за исключением\n";
echo "тех случаев, когда оно описывает функци, не задавая тела функции (#10), когда\n";
echo "оно содержит спецификатор extern (1) и в нем нет инициализатора или тела\n";
echo "функции, или когда оно является опи­санием класса (#8.8).</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968103\">4.3 Компоновка</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Имя в файловой области видимости, не описанное явно\n";
echo "как static, является общим для каждого файла многофайловой прог­раммы. Таковым\n";
echo "же является имя функции. О таких именах гово­рится, что они внешние. Каждое\n";
echo "описание внешнего имени в программе относится к тому же объекту (#5), функции\n";
echo "(#8.7), классу (#8.5), перечислению (#8.10) или значению перечислите­ля\n";
echo "(#8.10).</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Типы, специфицированные во всех описаниях внешнего имени\n";
echo "должны быть идентичны. Может быть больше одного определения типа, перечисления,\n";
echo "inline-функции (#8.1) или несоставного const (#8.2), при условии, что\n";
echo "определения идентичны, пояля­ются в разных файлах и все инициализаторы являются\n";
echo "констант­ными выражениями (#12). Во всех остальных случаях должно быть ровно\n";
echo "одно определение для внешнего имени в программе.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-indent:33.0pt;text-autospace:\n";
echo "none'>Реализация может потребовать, чтобы составное const, ис­пользованное там,\n";
echo "где не всречено никакого определения const, должно быть явно описано extern и\n";
echo "иметь в программе ровно од­но определение. Это же ограничение может налагаться\n";
echo "на inline -функции.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968104\">4.4 Классы Памяти</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Есть два описываемых класса памяти: автоматический\n";
echo "и статический.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-indent:33.0pt;text-autospace:\n";
echo "none'>Автоматические объекты локальны для каждого вызова блока и сбрасываются\n";
echo "по выходе из него.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-indent:33.0pt;text-autospace:\n";
echo "none'>Статические объекты существуют и сохраняют свое значение в течение\n";
echo "выполнения всей програмы.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Некоторые объекты не связаны с именами и их времена жиз­ни\n";
echo "явно управляются операторами new и delete, см. #7.2 и #9.14</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968105\">4.5 Основные Типы</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Объекты, описанные как символы (char), достаточны\n";
echo "для хранения любого элемента машинного набора символов, и если принадлежащий\n";
echo "этому набору символ хранится в символьной пере­менной, то ее значение равно\n";
echo "целому коду этого символа.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>В настоящий момент имеются целые трех размеров, описыва­емые\n";
echo "как short int, int и long int. Более длинные целые (long int) предоставляют не\n";
echo "меньше памяти, чем более короткие целые (short int), но при реализации или\n";
echo "длинные, или короткие, или и те и другие могут стать эквивалентными обычным\n";
echo "целым. &quot;Обычные&quot; целые имеют естественный размер, задаваемый архи­тектурой\n";
echo "центральной мащины; остальные размеры делаются таки­ми, чтобы они отвечали\n";
echo "специальным потребностям.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Каждое перечисление (#8.9) является набором именованных\n";
echo "констант. Свойства enum идентичны свойствам int.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Целые без знака, описываемые как unsigned, подчиняются\n";
echo "правилам арифметики по модулю 2n, где n - число бит в их представлении.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Числа с плавающей точкой одинарной (float) и двойной\n";
echo "(double) точности в некоторых машинных реализациях могут быть синонимами.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Поскольку объекты перечисленных выше типов вполне можно\n";
echo "интерпретировать как числа, мы будем говорить о них как об арифметических\n";
echo "типах. Типы char, int всех размеров и enum бу­дут собирательно называться\n";
echo "целочисленными типами. Типы float и double будут собирательно называться\n";
echo "плавающими типами.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Тип данных void (пустой) определяет пустое множество\n";
echo "значений. Значение (несуществующее) объекта void нельзя ис­пользовать никаким\n";
echo "образом, не могут применяться ни явное, ни неявное преобразования. Поскольку\n";
echo "пустое выражение обозначает несуществующее значение, такое выражение такое\n";
echo "выражение мо­жет использоваться только как оператор выражение (#9.1) или как\n";
echo "левый операнд в выражении с запятой (#7.15). Выражение может явно\n";
echo "преобразовываться к типу void (#7.2).</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968106\">4.6 Производные Типы</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Кроме основных арифметических типов концептуально\n";
echo "су­ществует бесконечно много производных типов, сконструирован­ных из основных\n";
echo "типов следующим образом:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:33.0pt;text-autospace:none'>массивы объектов данного типа;</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:33.0pt;margin-bottom:.0001pt;text-align:justify;text-autospace:\n";
echo "none'>функции, получающие аргументы данного типа и возвращаю­щие объекты\n";
echo "данного типа;</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:33.0pt;text-autospace:none'>указатели на объекты данного\n";
echo "типа;</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:33.0pt;text-autospace:none'>ссылки на объекты данного типа;</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:33.0pt;text-autospace:none'>константы, являющиеся значениями\n";
echo "данного типа;</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:33.0pt;margin-bottom:.0001pt;text-align:justify;text-autospace:\n";
echo "none'>классы, содержащие последовательность объектов различных типов, множество\n";
echo "функций для работы с этими объектами и набор ограничений на доступ к этим\n";
echo "объектам и функциям; структуры, являющиеся классами без ограничений доступа;</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:33.0pt;margin-bottom:.0001pt;text-align:justify;text-autospace:\n";
echo "none'>объединения, являющиеся структурами, которые могут в разное время\n";
echo "содержать объекты разных типов.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>В целом эти способы конструирования объектов могут при­меняться\n";
echo "рекурсивно.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-indent:33.0pt;text-autospace:\n";
echo "none'>Объект типа void* (указатель на void) можно использовать для указания на\n";
echo "объекты неизвестного типа.</p>\n";
echo "\n";
echo "<h2><a name=\"_Toc219968107\">5. Объекты и Lvalue (Адреса)</a></h2>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Объект есть область памяти. lvalue (адрес) есть\n";
echo "выраже­ние, ссылающееся на объект. Очевидный пример адресного выра­жения - имя\n";
echo "объекта. Есть операции, дающие адресные выраже­ния: например, если Е -\n";
echo "выражение типа указатель, то *Е - адресное выражение, ссылающееся на объект, на\n";
echo "который указы­вает Е. Термин &quot;lvalue&quot; происходит из выражения\n";
echo "присваивания Е1=Е2, в котором левый операнд Е1 должен быть адресным (value)\n";
echo "выражением. Ниже при обсуждении каждого оператора указывается, требует ли он\n";
echo "адресные операнды и возвращает ли он адресное значение.</p>\n";
echo "\n";
echo "<h2><a name=\"_Toc219968108\">6. Преобразования</a></h2>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Определенные операции могут в зависимости от их\n";
echo "операн­дов вызывать преобразование значения операнда от одного типа к другому.\n";
echo "В этой части объясняется, каков ожидаемый резуль­тат таких преобразований. В\n";
echo "#6.6 содержится краткое описание преобразований, требуемых наиболее\n";
echo "стандартными операциями; оно будет дополняться по мере надобности в процессе\n";
echo "обсужде­ния каждой операции. В #8.5.6 описываются преобразования, оп­ределяемые\n";
echo "пользователем.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968109\">6.1 Символы и Целые</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Символ или короткое целое могут использоваться,\n";
echo "если мо­жет использоваться целое. Во всех случаях значение преобразуется к\n";
echo "целому. Преобразование короткого целого к длинному всегда включает в себя\n";
echo "знаковое расширение; целые являются величинами со знаком. Содержат символы\n";
echo "знаковый раз­ряд или нет, является машинно зависимым, см. #2.6. Более яв­ный\n";
echo "тип unsigned char ограничивает изменение значения от 0 до машинно зависимого\n";
echo "максимума.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>В машинах, где символы рассматриваются как имеющие знак\n";
echo "(знаковые), символы множества кода ASCII являются положитель­ными. Однако,\n";
echo "символьная константа, заданная восьмеричной escпоследовательностью подвергается\n";
echo "знаковому расширению и может стать отрицательным числом; так например, '\377'\n";
echo "имеет значение -1.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-indent:33.0pt;text-autospace:\n";
echo "none'>Когда длинное целое преобразуется в короткое или в char, оно урезается\n";
echo "влево; избыточные биты просто теряются.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968110\">6.2 Float и Double</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-indent:33.0pt;text-autospace:\n";
echo "none'>Для выражений float могут выполняться действия арифмети­ки с плавающей\n";
echo "точкой одинарной точности. Преобразования меж­ду числами одинарной и двойной\n";
echo "точности выполняются настолько математически корректно, насколько позволяет\n";
echo "аппаратура.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968111\">6.3 Плавающие и Целые</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Преобразования плавающих значений в целочисленный\n";
echo "тип имеет склонность быть машинно зависимым. В частности, направ­ление усечения\n";
echo "отрицательных чисел различается от машины к машине. Если предоставляемого\n";
echo "пространства для значения не хватает, то результат неопределен.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Преобразование целочисленного значения в плавающий тип\n";
echo "выполняются хорошо. При нехватке в аппаратной реализации тре­буемых бит\n";
echo "возникает некоторая потеря точности.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968112\">6.4 Указатели и Целые</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Выражение целого типа можно прибавить к указателю\n";
echo "или вычесть из него. В таком случае первый преобразуется, как указывается при\n";
echo "обсуждении операции сложения.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Можно производить вычитание над двумя указателями на\n";
echo "объекты одного типа; в этом случае результат преобразуется к типу int или long\n";
echo "в зависимости от машины, см. #7.4.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968113\">6.5 Unsigned</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Всегда при сочетании целого без знака и обычного\n";
echo "целого обычное целое преобразуется к типу unsigned и результат имеет тип\n";
echo "unsigned. Значением является наименьшее целое без знака, равное целому со\n";
echo "знаком (mod 2**(размер слова)) (т.е. по мо­дулю 2**(размер слова)). В\n";
echo "дополнительном двоичном представ­лении это преобразование является пустым, и\n";
echo "никаких реальных изменений в двоичном представлении не происходит.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>При преобразовании целого без знака в длинное значение\n";
echo "результата численно совпадает со значением целого без знака. Таким образом,\n";
echo "преобразование сводится к дополнению нулями слева.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968114\">6.6 Арифметические Преобразования</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Большое количество операций вызывают преобразования\n";
echo "и дают тип результата одинаковым образом. Этот стереотип будет называться\n";
echo "&quot;обычным арифметическим преобразованием&quot;.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:33.0pt;margin-bottom:.0001pt;text-align:justify;text-autospace:\n";
echo "none'>Во-первых, любые операнды типа char, unsigned char или short\n";
echo "преобразуются к типу int.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:33.0pt;margin-bottom:.0001pt;text-align:justify;text-autospace:\n";
echo "none'>Далее, если один из операндов имеет тип double, то дру­гой преобразуется\n";
echo "к типу double и тот же тип имеет ре­зультат.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:33.0pt;margin-bottom:.0001pt;text-align:justify;text-autospace:\n";
echo "none'>Иначе, если один из операндов имеет тип unsigned long, то другой\n";
echo "преобразуется к типу unsigned long и таков же тип результата.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:33.0pt;margin-bottom:.0001pt;text-align:justify;text-autospace:\n";
echo "none'>Иначе, если один из операндов имеет тип long, то другой преобразуется к\n";
echo "типу long и таков же тип результата.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:33.0pt;margin-bottom:.0001pt;text-align:justify;text-autospace:\n";
echo "none'>Иначе, если один из операндов имеет тип unsigned, то другой преобразуется\n";
echo "к типу unsigned и таков же тип ре­зультата.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:33.0pt;margin-bottom:.0001pt;text-align:justify;text-autospace:\n";
echo "none'>Иначе оба операнда должны иметь тип int и таков же тип результата.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968115\">6.7 Преобразования Указателей</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Везде, где указатели присваиваются,\n";
echo "инициализируются, сравниваются и т.д. могут выполняться следующие преобразова­ния.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:33.0pt;margin-bottom:.0001pt;text-align:justify;text-autospace:\n";
echo "none'>Константа 0 может преобразовываться в указатель, и га­рантируется, что\n";
echo "это значение породит указатель, отлич­ный от указателя на любой объект.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:33.0pt;text-autospace:none'>Указатель любого типа может\n";
echo "преобразовываться в void*.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:33.0pt;margin-bottom:.0001pt;text-align:justify;text-autospace:\n";
echo "none'>Указатель на класс может преобразовываться в указатель на открытый\n";
echo "базовый класс этого класса, см. #8.5.3.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:33.0pt;margin-bottom:.0001pt;text-align:justify;text-autospace:\n";
echo "none'>Имя вектора может преобразовываться в указатель на его первый элемент.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:33.0pt;margin-bottom:.0001pt;text-align:justify;text-autospace:\n";
echo "none'>Идентификатор, описанный как &quot;функция, возвращающая ...&quot;,\n";
echo "всегда, когда он не используется в позиции имени функции в вызове,\n";
echo "преобразуется в &quot;указатель на функцию, возвращающую ...&quot;.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968116\">6.8 Преобразования Ссылок</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Везде, где инициализируются ссылки, может\n";
echo "выполняться следующее преобразование.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-indent:33.0pt;text-autospace:\n";
echo "none'>Ссылка на класс может преобразовываться в ссылку на отк­рытый базовый\n";
echo "класс этого класса, см. #8.6.3.</p>\n";
echo "\n";
echo "<h2><a name=\"_Toc219968117\">7. Выражения</a></h2>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Приоритет операций в выраженях такой же, как и\n";
echo "порядок главных подразделов в этом разделе, наибольший приоритет у первого. Так\n";
echo "например, выражения, о которых говорится как об операндах операции + (#7.4) -\n";
echo "это те выражения, которые опре­делены в ##7.1-7.4. Внутри каждого подраздела\n";
echo "операции имеют одинаковый приоритет. В каждом подразделе для рассматриваемых в\n";
echo "нем операций определяется их левая или правая ассоциатив­ность (порядок\n";
echo "обработки операндов). Приоритет и ассоциатив­ность всех операций собран вместе\n";
echo "в описании грамматики в #14.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>В остальных случаях порядок вычисления выражения неопре­делен.\n";
echo "Точнее, компилятор волен вычислять подвыражения в том порядке, который он\n";
echo "считает более эффективным, даже если под­выражения вызывают побочные эффекты.\n";
echo "Порядок возникновения побочных эффектов неопределен. Выражения, включающие в\n";
echo "себя коммутативные и асссоциативные операции (*, +, &amp;, !, ^), мо­гут быть\n";
echo "реорганизованы произвольным образом, даже при нали­чии скобок; для задания\n";
echo "определенного порядка вычисления вы­ражения необходимо использовать явную\n";
echo "временную переменную.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Обработка переполнения и контроль деления при вычислении\n";
echo "выражения машинно зависимы. В большинстве существующих реали­заций С++\n";
echo "переполнение целого игнорируется; обработка деления на 0 и всех исключительных\n";
echo "ситуаций с числами с плавающей точкой различаются от машины к машине и обычно\n";
echo "могут регули­роваться библиотечными функциями.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Кроме стандартного значения, описанного в #7.2-7.15, операции могут быть\n";
echo "перегружены*, то есть, могут быть заданы их значения для случая их применения к\n";
echo "типам, определяемым пользователем, см. #7.16.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:6.6pt;margin-bottom:.0001pt;text-autospace:none'>--------------------</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>* Этот термин применяется для описания\n";
echo "использования в языке одной и той же лексемы для обозначения различных проце­дур;\n";
echo "вид процедуры выбирается компилятором на основании до­полнительной информации в\n";
echo "виде числа и типа аргументов и т.п. (прим.перев.)</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968118\">7.1 Основные Выражения</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Основные выражения, включающие в себя . , -&gt; ,\n";
echo "индекси­рование и вызовы функций, группируются слева направо.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:19.8pt;margin-bottom:.0001pt;text-autospace:none'>список_выражений:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:46.2pt;margin-bottom:.0001pt;text-autospace:none'>выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:46.2pt;text-autospace:none'>список_выражений , выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:19.8pt;margin-bottom:.0001pt;text-autospace:none'>id:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:46.2pt;margin-bottom:.0001pt;text-autospace:none'>идентификатор</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:46.2pt;margin-bottom:.0001pt;text-autospace:none'>имя_функции_операции</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:46.2pt;margin-bottom:.0001pt;text-autospace:none'>typedef-имя\n";
echo ":: идентификатор</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:46.2pt;text-autospace:none'>typedef-имя ::\n";
echo "имя_функции_операции</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:19.8pt;margin-bottom:.0001pt;text-autospace:none'>первичное_выражение:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:46.2pt;margin-bottom:.0001pt;text-autospace:none'>id</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:46.2pt;margin-bottom:.0001pt;text-autospace:none'>::\n";
echo "идентификатор</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:46.2pt;margin-bottom:.0001pt;text-autospace:none'>константа</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:46.2pt;margin-bottom:.0001pt;text-autospace:none'>строка</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:46.2pt;margin-bottom:.0001pt;text-autospace:none'>this</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:46.2pt;margin-bottom:.0001pt;text-autospace:none'>( выражение )</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:46.2pt;margin-bottom:.0001pt;text-autospace:none'>первичное_выражение\n";
echo "[ выражение ]</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:46.2pt;margin-bottom:.0001pt;text-autospace:none'>первичное_выражение\n";
echo "( список_выражений opt )</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:46.2pt;margin-bottom:.0001pt;text-autospace:none'>первичное_выражение\n";
echo ". id</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:46.2pt;text-autospace:none'>первичное_выражение -&gt; id</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-indent:33.0pt;text-autospace:\n";
echo "none'>Идентификатор есть первичное выражение, причем соответс­твенно описанное\n";
echo "(#8).  Имя_функции_операции есть идентифика­тор со специальным значением, см.\n";
echo "#7.16 и #8.5.1.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:33.0pt;margin-bottom:.0001pt;text-autospace:none'>Операция ::,                  за  \n";
echo "которой  следует  идентификатор  из</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-autospace:none'>файловой\n";
echo "области видимости,  есть то же, что и идентификатор.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-autospace:\n";
echo "none'>Это позволяет ссылаться на объект даже в том случае, когда его\n";
echo "идентификатор скрыт (#4.1).</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Typedef-имя (#8.8) , за которым следует ::, после чего\n";
echo "следует идентификатор, является первичным выражением. Typedef -имя должно\n";
echo "обозначать класс (#8.5), и идентификатор должен обозначать член этого класса.\n";
echo "Его тип специфицируется описа­нием идентификатора. Typedef-имя может быть\n";
echo "скрыто именем, которое не является именем типа. В этом случае typedef-имя все\n";
echo "равно может быть найдено и его можно использовать.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Константа является первичным выражением. Ее тип должен\n";
echo "быть int, long или double в зависимости от ее формы.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Строка является первичным выражением. Ее тип -\n";
echo "&quot;массив символов&quot;. Обычно он сразу же преобразуется в указатель на ее\n";
echo "первый символ (#6.7).</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-indent:33.0pt;text-autospace:\n";
echo "none'>Ключевое слово this является локальной переменной в теле функции члена\n";
echo "(см. #8.5) . Оно является указателем на объект, для которого функция была\n";
echo "вызвана.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Выражение, заключенное в круглые скобки, является пер­вичным\n";
echo "выражением, чей тип и значение те же, что и у незаклю­ченного в скобки\n";
echo "выражения. Наличие скобок не влияет на то, является выражение lvalue или нет.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Первичное выражение, за которым следует выражение в\n";
echo "квадратных скобках, является первичным выражением. Интуитив­ный смысл - индекс.\n";
echo "Обычно первичное выражение имеет тип &quot;указатель на ...&quot;,\n";
echo "индексирующее выражение имеет тип int и тип результата есть &quot;...&quot;.\n";
echo "Выражение Е1[Е2] идентично (по оп­ределению) выражению *((E1)+(E2)). Все тонкие\n";
echo "места, необхо­димые для понимания этой записи, содержатся в этом разделе вместе\n";
echo "с обсуждением в ## 7.1, 7.2 и 7.4, соответственно, идентификаторов, * и + ;\n";
echo "ниже, в #8.4.2 приводятся следствия из этого.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Вызов функции является первичным выражением, за которым\n";
echo "следуют скобки, содержащие список (возможно, пустой) разде­ленных запятыми\n";
echo "выражений, составляющих фактические параметры для функции. Первичное выражение\n";
echo "должно иметь тип &quot;функция, возвращающая ...&quot; или &quot;указатель на\n";
echo "функцию, возвращающую ...&quot;, и результат вызова функции имеет тип\n";
echo "&quot;...&quot;.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Каждый формальный параметр инициализируется фактическим\n";
echo "параметром (#8.6). Выполняются стандартные (#6.6-8) и опреде­ляемые\n";
echo "пользователем преобразования (#8.5.6). Функция может изменять значения своих\n";
echo "формальных параметров, но эти измене­ния не могут повлиять на значения\n";
echo "фактических параметров за исключением случая, когда формальный параметр имеет\n";
echo "ссылочный тип.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Функция может быть описана как получающая меньше или\n";
echo "больше параметров, чем специфицировано в описании функции (#8.4). Каждый\n";
echo "фактический параметр типа float, для которого нет формального параметра,\n";
echo "преобразуются к типу double; и, как обычно, имена массивов преобразуются к\n";
echo "указателям. Поря­док вычисления параметров не определен языком; имейте в виду\n";
echo "различия между компиляторами.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:33.0pt;text-autospace:none'>Допустимы рекурсивные вызовы\n";
echo "любых функций.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Первичное выражение, после которого стоит точка, за\n";
echo "ко­торой следует идентификатор (или идентификатор, уточненный typedef-именем с\n";
echo "помощью операции ::) является выражением. Первое выражение должно быть объектом\n";
echo "класса, а идентификатор должен именовать член этого класса. Значением является\n";
echo "имено­ванный член объекта, и оно является адресным, если первое вы­ражение\n";
echo "является адресным. Следует отметить, что &quot;классовые объекты&quot; могут\n";
echo "быть структурами (#8.5.12) или объединениями (#8.5.13).</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Первичное выражение, после которого стоит стрелка ( -&gt;\n";
echo "), за которой следует идентификатор (или идентификатор, уточ­ненный\n";
echo "typedef-именем с помощью операции ::) является выраже­нием. Первое выражение\n";
echo "должно быть указателем на объект клас­са, а идентификатор должен именовать член\n";
echo "этого класса. Значение является адресом, ссылающимся на именованный член\n";
echo "класса, на который указывает указательное выражение. Так, вы­ражение E1-&gt;MOS\n";
echo "есть то же, что и (*E1).MOS. Классы обсужда­ются в #8.5.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Если первичное выражение дает значение типа\n";
echo "&quot;указатель на ...&quot; (см. #8.4 and #8.6.3), значением выражения был объ­ект,\n";
echo "обозначаемый ссылкой. Ссылку можно считать именем объек­та, см. #8.6.3.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968119\">7.2 Унарные Операции</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Выражения с унарными операциями группируют справа\n";
echo "нале­во:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:19.8pt;margin-bottom:.0001pt;text-autospace:none'>унарное_выражение:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:46.2pt;margin-bottom:.0001pt;text-autospace:none'>унарная_операция\n";
echo "выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:46.2pt;margin-bottom:.0001pt;text-autospace:none'>выражение ++</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:46.2pt;margin-bottom:.0001pt;text-autospace:none'>выражение --</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:46.2pt;margin-bottom:.0001pt;text-autospace:none'>sizeof\n";
echo "выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:46.2pt;margin-bottom:.0001pt;text-autospace:none'>sizeof (\n";
echo "имя_типа )</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:46.2pt;margin-bottom:.0001pt;text-autospace:none'>( имя_типа )\n";
echo "выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:46.2pt;margin-bottom:.0001pt;text-autospace:none'>простое_имя_типа\n";
echo "( список_выражений )</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:46.2pt;margin-bottom:.0001pt;text-autospace:none'>new имя_типа\n";
echo "инициализатор opt</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:46.2pt;margin-bottom:.0001pt;text-autospace:none'>new (\n";
echo "имя_типа )</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:46.2pt;margin-bottom:.0001pt;text-autospace:none'>delete выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:46.2pt;margin-bottom:.0001pt;text-autospace:none'>delete [\n";
echo "выражение ] выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:19.8pt;margin-bottom:.0001pt;text-autospace:none'>унарная_операция:\n";
echo "одна из</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:46.2pt;text-autospace:none'>* &amp; - ! ~ ++ --</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Унарная операция * означает косвенное обращение:\n";
echo "выражение должно быть указателем и результатом будет lvalue, ссылающееся на\n";
echo "объект, на который указывает выражение. Если выражение имеет тип\n";
echo "&quot;указатель на ...&quot;, то тип результата есть &quot;...&quot;.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Результатом унарной операции &amp; является указатель на\n";
echo "объект, на который ссылается операнд. Операнд должен быть lvalue. Если\n";
echo "выражение имеет тип &quot;...&quot;, то тип результата есть &quot;указатель на\n";
echo "...&quot;.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-indent:33.0pt;text-autospace:\n";
echo "none'>Результатом унарной операции + является значение ее опе­ранда после\n";
echo "выполнения обычных арифметических преобразований. Операнд должен быть\n";
echo "арифметического типа.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Результатом унарной операции - является отрицательное\n";
echo "значение ее операнда. Операнд должен иметь целый тип. Выпол­няются обычные\n";
echo "арифметические преобразования. Отрицательое значение беззнаковой величины\n";
echo "вычислятся посредством вычита­ния ее значения из 2n, где n -число битов в целом\n";
echo "типа int.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Результатом операции логического отрицания ! является 1,\n";
echo "если значение операнда 0, и 0, если значение операнда не 0. Результат имеет тип\n";
echo "int. Применима к любому арифметическому типу или к указателям.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "39.9pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Операция ~ дает дополнение значения операнда до единицы. Выполняются\n";
echo "обычные арифметические преобразования. Операнд должен иметь целочисленный тип. </p>\n";
echo "\n";
echo "<h4><a name=\"_Toc219968120\">7.2.1 Увеличение и Уменьшение</a></h4>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Операнд префиксного ++ получает приращение. Операнд\n";
echo "дол­жен быть адресным . Значением является новое значение операн­да, но оно не\n";
echo "адресное. Выражение ++x эквивалентно x+=1. По поводу данных о преобразованиях\n";
echo "см. обсуждение операций сло­жения (#7.4) и присваивания (#7.14).</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Операнд префиксного -- уменьшается аналогично действию\n";
echo "префиксной операции ++.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Значение, получаемое при использовании постфиксного ++,\n";
echo "есть значение операнда. Операнд должен быть адресным. После того, как результат\n";
echo "отмечен, объект увеличивается так же, как и в префиксной операции ++. Тип\n";
echo "результата тот же, что и тип операнда.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Значение, получаемое при использовании постфиксной --,\n";
echo "есть значение операнда. Операнд должен быть адресным. После того, как результат\n";
echo "отмечен, объект увеличивается так же, как и в префиксной операции ++. Тип\n";
echo "результата тот же, что и тип операнда.</p>\n";
echo "\n";
echo "<h4><a name=\"_Toc219968121\">7.2.2 Sizeof</a></h4>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Операция sizeof дает размер операнда в байтах.\n";
echo "(Байт не определяется языком иначе, чем через значение sizeof. Однако, во всех\n";
echo "существующих реализациях байт есть пространтсво, не­обходимое для хранения\n";
echo "char.) При применении к массиву ре­зультатом является полное количество байтов\n";
echo "в массиве. Размер определяется из описаний объектов, входящих в выражение. Се­мантически\n";
echo "это выражение является беззнаковой константой и может быть использовано в любом\n";
echo "месте, где требуется констан­та.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Операцию sizeof можно также применять к заключенному в\n";
echo "скобки имени типа. В этом случае она дает размер, в байтах, объекта указанного\n";
echo "типа.</p>\n";
echo "\n";
echo "<h4><a name=\"_Toc219968122\">7.2.3 Явное Преобразование Типа</a></h4>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Простое_имя_типа (#8.2), возможно, заключенное в\n";
echo "скобки, за которым идет заключенное в скобки выражение (или спи­сок_выражений,\n";
echo "если тип является классом с соответствующим образом описанным конструктором #8.5.5)\n";
echo "влечет преобразование значения выражения в названный тип. Чтобы записать\n";
echo "преобразо­вание в тип, не имеющий простого имени, имя_типа (#8.7) долж­но быть\n";
echo "заключено в скобки. Если имя типа заключено в скобки, выражение заключать в\n";
echo "скобки необязательно. Такая запись на­зывается приведением к типу.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Указатель может быть явно преобразован к любому из цело­численных\n";
echo "типов, достаточно по величине для его хранения. То, какой из int и long\n";
echo "требуется, является машинно зависимым. Отобразующая функция также является\n";
echo "машинно зависимой, но предполагается, что она не содержит сюрпризов для того,\n";
echo "кто знает структуру адресации в машине. Подробности для некоторых конкретных\n";
echo "машин были приведены в #2.6.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Объект целочисленного типа может быть явно преобразован в\n";
echo "указатель. Отображающая функция всегда превращает целое, полученное из\n";
echo "указателя, обратно в тот же указатель, но в ос­тальных случаях является машинно\n";
echo "зависимой.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Указатель на один тип может быть явно преобразован в\n";
echo "указатель на другой тип. Использование полученного в резуль­тате указателя\n";
echo "может привести к исключительной ситуации адре­сации, если исходный указатель не\n";
echo "указывает на объект, соот­ветствующим образом выравненный в памяти.\n";
echo "Гарантируется, что указатель на объект данного размера может быть преобразован\n";
echo "в указатель на объект меньшего размера и обратно без изменений. Различные\n";
echo "машины могут различаться по числу бит в указателях и требованиям к выравниванию\n";
echo "объектов. Составные объекты вы­равниваются по самой строгой границе, требуемой\n";
echo "каким-либо из его составляющих.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Объект может преобразовываться в объект класса только если\n";
echo "был описан соответствующий конструктор или операция пре­образования (#8.5.6).</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Объект может явно преобразовываться в ссылочный тип\n";
echo "&amp;X, если указатель на этот объект может явно преобразовываться в X*.</p>\n";
echo "\n";
echo "<h4><a name=\"_Toc219968123\">7.2.4 Свободная Память</a></h4>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Операция new создает объект типа имя_типа (см.\n";
echo "#8.7), к которому он применен. Время жизни объекта, созданного с по­мощью new,\n";
echo "не ограничено областью видимости, в которой он создан. Операция new возвращает\n";
echo "указатель на созданный ей объект. Когда объект является массивом, возвращается\n";
echo "указа­етль на его первый элемент. Например, и new int и new int[10] возвращают\n";
echo "int*. Для объектов некоторых классов надо предос­тавлять инициализатор\n";
echo "(#8.6.2). Операция new (#7.2) для полу­чения памяти вызывает функцию</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:19.8pt;text-autospace:none'><span lang=EN-US>void* operator\n";
echo "new (long);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Параметр задает требуемое число байтов. Память\n";
echo "будет инициализирована. Если operator new() не может найти требуе­мое\n";
echo "количество памяти, то она возвращает ноль.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Операция delete уничтожает объект, созданный операцией\n";
echo "new. Ее результат является void. Операнд delete должен быть указателем,\n";
echo "возвращенным new. Результат применения delete к указателю, который не был\n";
echo "получен с помощью операции new. Од­нако уничтожение с помощью delete указателя\n";
echo "со значением ноль безвредно.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-indent:33.0pt;text-autospace:\n";
echo "none'>Чтобы освободить указанную память, операция delete вызы­вает функцию</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:26.4pt;text-autospace:none'><span lang=EN-US>void operator\n";
echo "delete (void*);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:19.8pt;text-autospace:none'>В форме</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:19.8pt;text-autospace:none'>delete [ выражение ] выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>второй параметр указывает на вектор, а первое\n";
echo "выражение задает число элементов этого вектора. Задание числа элементов\n";
echo "является избыточным за исключением случаев уничтожения векто­ров некоторых\n";
echo "классов, см. #8.5.8.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968124\">7.3 Мультипликативные Операции</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Мультипликативные операции *, / и % группируют\n";
echo "слева направо. Выполняются обычные арифметические преобразования.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>мультипликативное_выражение:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>выражение *\n";
echo "выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>выражение /\n";
echo "выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>выражение % выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Бинарная операция * определяет умножение. Операция\n";
echo "* ас­социативна и выражения с несколькими умножениями на одном уровне могут\n";
echo "быть реорганизованы компилятором.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Бинарная операция / определяет деление. При делении\n";
echo "по­ложительных целых округление осуществляется в сторону 0, но если какой-либо\n";
echo "из операндов отрицателен, то форма округления является машинно зависимой. На\n";
echo "всех машинах, охватываемых данным руководством, остаток имеет тот же знак, что\n";
echo "и дели­мое. Всегда истиинно, что (a/b)*b + a%b равно a (если b не</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-autospace:none'>0).</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Бинарная операция % дает остаток от деления первого\n";
echo "вы­ражения на второе. Выполняются обычные арифметические преоб­разования.\n";
echo "Операнды не должны быть числами с плавающей точ­кой.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968125\">7.4 Аддитивные Операции</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Аддитивные операции + и - группируют слева направо.\n";
echo "Выполняюься обычные арифметические преобразования. Каждая операция имеет\n";
echo "некоторые дополнительные возможности, связан­ные с типами.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>аддитивное_выражение:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>выражение +\n";
echo "выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>выражение - выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Результатом операции + является сумма операндов.\n";
echo "Можно суммировать указатель на объект массива и значение целого ти­па.\n";
echo "Последнее во всех случаях преобразуется к смещению адреса с помощью умножения\n";
echo "его на длину объекта, на который указыва­ет указатель. Результатом является\n";
echo "указатель того же типа, что и исходный указатель, уазывающий на другой объект\n";
echo "того же массива и соответствующим образом смещенный от первоначально­го\n";
echo "объекта. Так, если P есть указатель на объект массива, то выражение P+1 есть\n";
echo "указатель на следующий объект массива.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-indent:33.0pt;text-autospace:\n";
echo "none'>Никакие другие комбинации типов для указателей не допус­тимы.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Операция + ассоциативна и выражение с несколькими умно­жениями\n";
echo "на одном уровне может быть реорганизовано компилято­ром.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Результатом операции - является разность операндов.\n";
echo "Выполняюься обычные арифметические преобразования. Кроме то­го, значение любого\n";
echo "целого типа может вычитаться из указате­ля, в этом случае применяются те же\n";
echo "преобразования, что и к сложению.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Если вычитаются указатели на объекты одного типа, то ре­зультат\n";
echo "преобразуется (посредством деления на длину объекта) к целому, представляющему\n";
echo "собой число объектов, разделяющих объекты, указанные указателями. В засисимости\n";
echo "от машины ре­зультирующее целое может быть или типа int, или типа long, см.\n";
echo "#2.6. Вообще говоря, это преобразование будет давать не­определенный результат\n";
echo "кроме тех случаев, когда указатели указывают на объекты одного массива,\n";
echo "поскольку указатели, да­же на объекты одинакового типа, не обязательно\n";
echo "различаются на величину, кратную длине объекта.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968126\">7.5 Операции Сдвига</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Операции сдвига &lt;&lt; и &gt;&gt; группируют\n";
echo "слева направо. Обе выполняют одно обычное арифметическое преобразование над сво­ими\n";
echo "операндами, каждый из которых должен быть целым. В этом случае правый операнд\n";
echo "преобразуется к типу int; тип результа­та совпадает с типом левого операнда.\n";
echo "Результат неопределен, если правый операнд отрицателен или больше или равен\n";
echo "длине объекта в битах.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>сдвиговое_выражение:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>выражение\n";
echo "&lt;&lt; выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>выражение &gt;&gt; выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Значением Е1 &lt;&lt; Е2 является Е1\n";
echo "(рассматриваемое как би­товое представление), сдвинутое влево на Е2 битов;\n";
echo "освободив­шиеся биты заполняются нулями. Значением Е1 &gt;&gt; Е2 является Е1 ,\n";
echo "сдвинутое вправо на Е2 битовых позиций. Гарантируется, что сдвиг вправо\n";
echo "является логическим (заполнение нулями), если Е1 является unsigned; в противном\n";
echo "случае он может быть арифмети­чевким (заполнение копией знакового бита).</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968127\">7.6 Операции Отношения</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Операции отношения (сравнения) группируют слева\n";
echo "направо, но этот факт не очень-то полезен: a &lt; b &lt; c не означает то, чем\n";
echo "кажется.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>выражение_отношения:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>выражение\n";
echo "&lt; выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>выражение\n";
echo "&gt; выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>выражение\n";
echo "&lt;= выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>выражение &gt;= выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Операции &lt; (меньше чем), &gt; (больше чем),\n";
echo "&lt;= и &gt;= все да­ют 0, если заданное соотношение ложно, и 1, если оно\n";
echo "истинно. Тип результата int. Выполняются обычные арифметические преоб­разования.\n";
echo "Могут сравниваться два указателя; результат зави­сит от относительного\n";
echo "положения объектов, на которые указыва­ют указатели, в адресном пространстве.\n";
echo "Сравнение указателей переносимо только если указатели указывают на объекты\n";
echo "одного массива.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968128\">7.7 Операции Равенства</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>выражение_равенства:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>выражение ==\n";
echo "выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>выражение != выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Операции == и != в точности аналогичны операциям\n";
echo "сравне­ния за исключением их низкого приоритета. (Так, a&lt;b == c&lt;d есть 1\n";
echo "всегда, когда a&lt;b и c&lt;d имеют одинаковое истинностное значение.)</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:33.0pt;text-autospace:none'>Указатель может сравниваться с\n";
echo "0.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968129\">7.8 Операция Побитовое И</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>И-выражение:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>выражение &amp; выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Операция &amp; ассоциативна, и выражения,\n";
echo "содержащие &amp;, мо­гут реорганизовываться. Выполняются обычные арифметические\n";
echo "преобразования; результатом является побитовая функция И опе­рандов. Операция\n";
echo "применяется только к целым операндам.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968130\">7.9 Операция Побитовое Исключающее ИЛИ</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>исключающее_ИЛИ_выражение:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>выражение ^ выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Операция ^ ассоциативна, и выражения, содержащие ^,\n";
echo "мо­гут реорганизовываться. Выполняются обычные арифметические преобразования;\n";
echo "результатом является побитовая функция исклю­чающее ИЛИ операндов. Операция\n";
echo "применяется только к целым операндам.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968131\">7.10 Операция Побитовое Включающее ИЛИ</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:33.0pt;margin-bottom:.0001pt;text-autospace:none'>включающее_ИЛИ_выражение:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:66.0pt;text-autospace:none'>выражение ! выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Операция ! ассоциативна, и выражения, содержащие !,\n";
echo "мо­гут реорганизовываться. Выполняются обычные арифметические преобразования;\n";
echo "результатом является побитовая функция вклю­чающее ИЛИ операндов. Операция\n";
echo "применяется только к целым операндам.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968132\">7.11 Операция Логическое И</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>логическое_И_выражение:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>выражение &amp;&amp; выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Операция &amp;&amp; группирует слева направо. Она\n";
echo "возвращает 1, если оба операнда ненулевые, и 0 в противном случае. В проти­воположность\n";
echo "операции &amp; операция &amp;&amp; гарантирует вычисление слева направо; более\n";
echo "того, второй операнд не вычисляется, ес­ли первый операнд есть 0.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Операнды не обязаны иметь один и тот же тип, но каждый из\n";
echo "них должен иметь один из основных типов или быть указате­лем. Результат всегда\n";
echo "имеет тип int.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968133\">7.12 Операция Логическое ИЛИ</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>логическое_ИЛИ_выражение:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>выражение !! выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Операция !! группирует слева направо. Она\n";
echo "возвращает 1, если хотя бы один из ее операндов ненуелвой, и 0 в противном\n";
echo "случае. В противоположность операции ! операция !! гарантиру­ет вычисление\n";
echo "слева направо; более того, второй операнд не вычисляется, если первый операнд\n";
echo "не есть 0.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Операнды не обязаны иметь один и тот же тип, но каждый из\n";
echo "них должен иметь один из основных типов или быть указате­лем. Результат всегда\n";
echo "имеет тип int.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968134\">7.13 Условная Операция</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>условное_выражение:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>выражение ? выражение :\n";
echo "выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Условная операция группирует слева направо.\n";
echo "Вычисляется первое выражение, и если оно не 0, то результатом является значение\n";
echo "второго выражения, в противном случае значение третьего выражения. Если это\n";
echo "возможно, то выполняются обычные арифметические преобразования для приведения\n";
echo "второго и треть­его выражения к общему типу. Если это возможно, то выполняют­ся\n";
echo "преобразования указателей для приведения второго и треть­его выражения к общему\n";
echo "типу. Вычисляется только одно из второго и третьего выражений.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968135\">7.14 Операции Присваивания</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Есть много операций присваивания, все группируют\n";
echo "слева направо. Все в качестве левого операнда требуют lvalue, и тип выражения\n";
echo "присваивания тот же, что и у его левого операнда. Это lvalue не может ссылаться\n";
echo "на константу (имя массива, имя функции или const). Значением является значение,\n";
echo "хранящееся в левом операнде просле выполнения присваивания.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>выражение_присваивания:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>выражение операция_присваивания\n";
echo "выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>операция_присваивания: одна из</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>= += -= *= /= %= &gt;&gt;=\n";
echo "&lt;&lt;= &amp;= ~= !=</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>В простом присваивании с = значение выражения\n";
echo "замещает собой значение объекта, на который ссылается операнд в левой части.\n";
echo "Если оба операнда имеют арифметический тип, то при подготовке к присваиванию\n";
echo "правый операнд преобразуется к типу левого. Если аргумент в левой части имеет\n";
echo "указательный тип, аргумент в правой части должен быть того же типа или типа,\n";
echo "который может быть преобразован к нему, см. #6.7. Оба операн­да могут быть\n";
echo "объектами одного класса. Могут присваиваться объекты некоторых производных\n";
echo "классов, см. #8.5.3.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Присваивание объекту типа &quot;указатель на ...&quot;\n";
echo "выполнит присваивание объекту, денотируемому ссылкой.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Выполнение выражения вида E1 op= E2 можно представить себе\n";
echo "как эквивалентное E1 = E1 op (E2); но E1 вычисляется только один раз. В += и -=\n";
echo "левый операнд может быть указате­лем, и в этом случае (целочисленный) правый\n";
echo "операнд преобра­зуется так, как объяснялось в #7.4; все правые операнды и не\n";
echo "являющиеся указателями левые должны иметь арифметический тип.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968136\">7.15 Операция Запятая</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>запятая_выражение:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>выражение , выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Пара выражений, разделенных запятой, вычисляется\n";
echo "слева направо, значение левого выражения теряется. Тип и значение результата\n";
echo "являются типом и значением правого операнда. Эта операция группирует слева\n";
echo "направо. В контексте, где запятая имеет специальное значение, как например в\n";
echo "списке фактических параметров функции (#7.1) и в списке инициализаторов (#8.6),\n";
echo "операция запятая, как она описана в этом разделе, может появ­ляться только в\n";
echo "скобках; например,</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>f\n";
echo "(a,(t=3,t+2),c)</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>имеет три параметра, вторым из\n";
echo "которых является значение 5.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968137\">7.16 Перегруженные Операции</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Большинство операций может быть перегружено, то\n";
echo "есть, описано так, чтобы они получали в качестве операндов объекты классов (см.\n";
echo "#8.5.11). Изменить приоритет операций невозмож­но. Невозможно изменить смысл\n";
echo "операций при применении их к неклассовым объектам. Предопределенный смысл\n";
echo "операций = и &amp; (унарной) при применении их к объектам классов может быть из­менен.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Эквивалентность операций, применяемых к основным типам\n";
echo "(например, ++a эквивалентно a+=1), не обязательно выполняется для операций,\n";
echo "применяемых к классовым типам. Некоторые опера­ции, например, присваивание, в\n";
echo "случае применения к основным типам требуют, чтобы операнд был lvalue; это не\n";
echo "требуется для операций, описанных для классовых типов.</p>\n";
echo "\n";
echo "<h4><a name=\"_Toc219968138\">7.16.1 Унарные Операции</a></h4>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Унарная операция, префиксная или постфиксная, может\n";
echo "быть определена или с помощью функции члена (см. #8.5.4), не полу­чающей\n";
echo "параметров, или с помощью функции друга (см. #8.5.10), получающей один\n";
echo "параметр, но не двумя способами одновременно. Так, для любой унарной операции\n";
echo "@, x@ и @x могут интерпрети­роваться как x.операция@() или операция@(x). При\n";
echo "перегрузке операций ++ и -- невозможно различить префиксное и постфикс­ное\n";
echo "использование.</p>\n";
echo "\n";
echo "<h4><a name=\"_Toc219968139\">7.16.2 Бинарные Операции</a></h4>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Бинарная операция может быть определена или с\n";
echo "помощью функции члена (см. #8.5.4), получающей один параметр, или с помощью\n";
echo "функции друга (см. #8.5.9), получающей два параметра, но не двумя способами\n";
echo "одновременно. Так, для любой бинарной операции @, x@y может быть\n";
echo "проинтерпретировано как x.operator @(y) или operator@(x,y).</p>\n";
echo "\n";
echo "<h4><a name=\"_Toc219968140\">7.16.3 Особые Операции</a></h4>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>Вызов функции</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>первичное_выражение (\n";
echo "список_выражений opt )</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-autospace:none'>и индексирование</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>первичное_выражение [ выражение\n";
echo "]</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>считаются бинарными операциями. Именами\n";
echo "определяющей функции являются соответсвенно operator() и operator[]. Обра­щение\n";
echo "x(arg) интерпретируется как x.operator()(arg) для клас­сового объекта x.\n";
echo "Индексирование x[y] интерпретируется как x. operator[](y).</p>\n";
echo "\n";
echo "<h2><a name=\"_Toc219968141\">8. Описания</a></h2>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-indent:33.0pt;text-autospace:\n";
echo "none'>Описания используются для определения интерпретации, да­ваемой каждому\n";
echo "идентификатору. Они не обязательно резервируют память, связанную с\n";
echo "идентификатором. Описания имеют вид:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>описание:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>спецификаторы_описания\n";
echo "opt список_описателей opt ;</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>описание_имени</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>asm_описание</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Описатели в списке_описателей содержат\n";
echo "идентификаторы, подлежащие описанию. Спецификаторы_описания могут быть опуще­ны\n";
echo "только в определениях внешних функций (#10) или в описани­ях внешних функций.\n";
echo "Список описателей может быть пустым толь­ко при описании класса (#8.5) или\n";
echo "перечисления (#8.10), то есть, когда спецификаторы_описания - это\n";
echo "class_спецификатор или enum_спецификатор. Описания имен описываются в #8.8; опи­сания\n";
echo "asm описаны в #8.11.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>спецификатор_описания:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>спецификатор_класса_памяти</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>спецификатор_типа</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>спецификатор_функции</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>friend</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>typedef</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>спецификаторы_описания:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>спецификатор_описания\n";
echo "спецификатор_описания opt</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Список должен быть внутренне непротиворечив в\n";
echo "описывае­мом ниже смысле.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968142\">8.1 Спецификаторы Класса Памяти</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:179.5pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>Спецификаторы\n";
echo "- это: спецификатор_класса_памяти:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:179.5pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>auto</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:179.5pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>static</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:179.5pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>extern</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:179.5pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'><span lang=EN-US>register</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Описания, использующие спецификаторы auto, static и\n";
echo "register также служат определениями тем, что они вызывают ре­зервирование\n";
echo "соответствующего объема памяти. Если описание extern не является определением\n";
echo "(#4.2), то где-то еще должно быть определение для данных идентификаторов.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Описание register лучше всего представить как описание\n";
echo "auto (автоматический) с подсказкой компилятору, что описанные переменные\n";
echo "усиленно используются. Подсказка может быть проиг­норирована. К ним не может\n";
echo "применяться операция получения ад­реса &amp;.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Спецификаторы auto или register могут применяться только к\n";
echo "именам, описанным в блоке, или к формальным параметрам. Внутри блока не может\n";
echo "быть описаний ни статических функций, ни статических формальных параметров.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>В описании может быть задан максимум один sc_специфика­тор.\n";
echo "Если в описании отсутсвует спецификатор_класса_памяти, то класс памяти\n";
echo "принимается автоматическим внутри функции и статическим вне. Исключение:\n";
echo "функции не могут быть автомати­ческими.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-indent:33.0pt;text-autospace:\n";
echo "none'>Спецификаторы static и extern могут использоваться толь­ко для имен\n";
echo "объектов и функций.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Некоторые спецификаторы могут использоваться только в\n";
echo "описаниях функций:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>спецификатор_функции:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>overload</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>inline</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>virtual</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Спецификатор перегрузки overload делает возможным ис­пользование\n";
echo "одного имени для обозначения нескольких функций, см. #8.9.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Спецификатор inline является только подсказкой компиля­тору,\n";
echo "не влияет на смысл программы и может быть проигнориро­ван. Он используется,\n";
echo "чтобы указать на то, что при вызове функции inline-подстановка тела функции\n";
echo "предпочтительнее обычной реализацци вызова функции. Функция (#8.5.2 и #8.5.10),\n";
echo "определенная внутри описания класса, является inline по умолчанию.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Спецификатор virtual может использоваться только в опи­саниях\n";
echo "членов класса, см. #8.5.4.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Спецификатор friend используется для отмены правил сок­рытия\n";
echo "имени для членов класса и может использоваться только внутри описаний классов,\n";
echo "см. #8.5.9.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>С помощью спецификатора typedef вводится имя для типа, см.\n";
echo "#8.8.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968143\">8.2 Спецификаторы Типа</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:33.0pt;text-autospace:none'>Спецификаторами типов\n";
echo "(спецификатор_типа) являются:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>спецификатор_типа:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>простое_имя_типа</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>спецификатор_класса</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>enum-спецификатор</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>сложный_спецификатор_типа</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>const</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Слово const можно добавлять к любому допустимому\n";
echo "специ­фикатору_типа. В остальных случаях в описании может быть дано не более\n";
echo "одного спецификатора_типа. Объект типа const не яв­ляется lvalue. Если в\n";
echo "описании опущен спецификатор типа, он принимается int.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>простое_имя_типа:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>char</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>short</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>long</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>unsigned</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>float</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>double</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>const</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>void</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Слова long, short и unsigned можно рассматривать\n";
echo "как прилагательные. Они могут применяться к типу int; unsigned может также\n";
echo "применяться к типам char, short и long.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-indent:33.0pt;text-autospace:\n";
echo "none'>Спецификаторы класса и перечисления обсуждаются в #8.5 и #8.10\n";
echo "соответственно.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>сложный_спецификатор_типа:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>ключ\n";
echo "typedef-имя</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>ключ идентификатор</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>ключ<span\n";
echo "lang=EN-US>:</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>class</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>struct</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>union</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>enum</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Сложный спецификатор типа можно использовать для\n";
echo "ссылки на имя класса или перечисления там, где имя может быть скрыто локальным\n";
echo "именем. Например:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>class x (* ... <span lang=EN-US>*);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>void f(int x)</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>(*</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>class x a;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>// ...</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>*)</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Если имя класса или перечисления ранее описано не\n";
echo "было, сложный_спецификатор_типа работает как описание_имени, см. #8.8.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968144\">8.3 Описатели</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Список_описателей, появляющийся в описании, есть\n";
echo "разде­ленная запятыми последовательность описателей, каждый из ко­торых может\n";
echo "иметь инициализатор.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>список_описателей:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>иниц_описатель</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>иниц_описатель ,\n";
echo "список_описателей</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>иниц_описатель:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>описатель инициализатор opt</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Инициализаторы обсуждаются в #8.6. Спецификатор в\n";
echo "описа­нии указывает тип и класс памяти объектов, к которым относятся описатели.\n";
echo "Описатели имеют синтаксис:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>описатель:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>оп_имя</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>( описатель         )</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>* const opt            описатель</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>&amp; const\n";
echo "opt           описатель</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>описатель (         список_описаний_параметров\n";
echo ")</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>описатель [         константное_выражение\n";
echo "opt ]</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>оп-имя:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>простое_оп_имя</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>typedef-имя :: простое_оп_имя</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>простое_оп_имя:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>идентификатор</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>typedef-имя</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>~ typedef-имя</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>имя_функции_операции</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>имя_функции_преобразования</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:33.0pt;text-autospace:none'>Группировка та же, что и в\n";
echo "выражениях.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968145\">8.4 Смысл описателей</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Каждый описатель считается утверждением того, что\n";
echo "если в выражении возникает конструкция, имеющаяя ту же форму, что и описатель,\n";
echo "то она дает объект указанного типа и класса памя­ти. Каждый описатель содержит\n";
echo "ровно одно оп_имя; оно опреде­ляет описываемый идентификатор. За исключением\n";
echo "описаний неко­торых специальных функций (см. #8.5.2) , оп_имя будет простым идентификатором.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Если в качестве описателя возникает ничем не снабженный\n";
echo "идентификатор, то он имеет тип, указанный спецификатором, возглавляющим\n";
echo "описание.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Описатель в скобках эквивалентен описателю без скобок, но\n";
echo "связку сложных описателей скобки могут изменять.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:33.0pt;text-autospace:none'>Теперь представим себе описание</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>T D1</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>где T - спецификатор типа (как int и т.д.), а D1 -\n";
echo "опи­сатель. Допустим, что это описание заставляет идентификатор иметь тип\n";
echo "&quot;... T&quot;, где &quot;...&quot; пусто, если идентификатор D1 есть просто\n";
echo "обычый идентификатор (так что тип x в &quot;int x&quot; есть просто int).\n";
echo "Тогда, если D1 имеет вид</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>*D</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-autospace:none'>то тип содержащегося идентификатора\n";
echo "есть &quot;...указатель на T.&quot;</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>Если D1 имеет вид</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>* const D</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>то тип содержащегося идентификатора есть &quot;...\n";
echo "констант­ный указатель на T&quot;, то есть, того же типа, что и *D, но не\n";
echo "lvalue.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>Если D1 имеет\n";
echo "вид</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>&amp;D</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-autospace:none'>или</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>&amp; const D</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:33.0pt;margin-bottom:.0001pt;text-autospace:none'>то тип\n";
echo "содержащегося идентификатора есть &quot;...  ссылка на</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-autospace:\n";
echo "none'>T.&quot; Поскольку ссылка по определению не может быть lvalue, ис­пользование\n";
echo "const излишне. Невозможно иметь ссылку на void (void&amp;).</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>Если D1 имеет вид</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>D (список_описаний_параметров)</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>то содержащийся идентификатор имеет тип &quot;...\n";
echo "функция, принимающая параметр типа список_описаний_параметров и возв­ращающая\n";
echo "T.&quot;</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>список_описаний_параметров:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>список_описаний_парам opt ...\n";
echo "opt</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>список_описаний_парам:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>список_описаний_парам\n";
echo ", описание_параметра</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>описание_параметра</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>описание_параметра:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>спецификаторы_описания\n";
echo "описатель</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>спецификаторы_описания\n";
echo "описатель = выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>спецификаторы_описания\n";
echo "абстракт_описатель</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>спецификаторы_описания\n";
echo "абстракт_описатель = выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Если список_описаний_параметров заканчивается\n";
echo "многоточи­ем, то о числе параметров известно лишь, что оно равно или больше\n";
echo "числа специфицированных типов параметров; если он пуст, то функция не получает\n";
echo "ни одного параметра. Все описа­ния для функции должны согласовываться и в типе\n";
echo "возвращаемого значения, а также в числе и типе параметров.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Список_описаний_параметров используется для проверки и\n";
echo "преобразования фактических параметров и для контроля присваи­вания указателю на\n";
echo "функцию. Если в описании параметра указано выражение, то это выражение\n";
echo "используется как параметр по умолчанию. Параметры по умолчанию будут\n";
echo "использоваться в вы­зовах, где опущены стоящие в хвосте параметры. Параметр по\n";
echo "умолчанию не может переопределяться более поздними описания­ми. Однако,\n";
echo "описание может добавлять параметры по умолчанию, не заданные в предыдущих\n";
echo "описаниях.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>По желанию можно задать идентификатор как имя параметра.\n";
echo "Если он присутствует в описании функции, его использовать нельзя, поскольку он\n";
echo "сразу выходит из области видимости. Если он присутствует в определении функции\n";
echo "(#10), то он именует фармальный параметр.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>Если D1 имеет вид</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>D[ константное_выражение ]</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-autospace:none'>или</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>D[]</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>то тип содержащегося идентификатора есть &quot;...\n";
echo "массив объектов типа T&quot;. В первом случае константное выражение есть\n";
echo "выражение, значение которого может быть определено во время компиляции, и тип\n";
echo "которого int. (Константные выражения опре­делены в #12.) Если подряд идут\n";
echo "несколько спецификаций &quot;мас­сив из&quot;, то создается многомерный массив;\n";
echo "константное выраже­ние, определяющее границы массива, может быть опущено только\n";
echo "для первого члена последовательности. Этот пропуск полезен, когда массив\n";
echo "является внешним, и настоящее определение, кото­рое резервирует память,\n";
echo "находится в другом месте. Первое константное выражение может также быть\n";
echo "опущено, когда за опи­сателем следует инициализация. В этом случае используется\n";
echo "размер, вычисленный исходя из числа начальных элементов.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Массив может быть построен из одного из основных типов, из\n";
echo "указателей, из структуры или объединения или из другого массива (для получения\n";
echo "многомерного массива).</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Не все возможности, которые позволяет приведенный выше\n";
echo "синтаксис, допустимы. Ограничения следующие: функция не может возвращать массив\n";
echo "или функцию, хотя она может возвращать ука­затели на эти объекты; не существует\n";
echo "массивов функций, хотя могут быть массивы указателей на функции.</p>\n";
echo "\n";
echo "<h4><a name=\"_Toc219968146\"><span lang=EN-US>8.4.1 </span>Примеры</a></h4>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>Описание</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>int i; int *pi;\n";
echo "int f (); int *fpi (); int (*pif) ();</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>описывает целое i, указатель pi на целое, функцию\n";
echo "f, возвращающую целое, функцию fpi , возвращающую указатель на целое, и\n";
echo "указатель pif на функцию, возвращающую целое. Осо­бенно полезно сравнить\n";
echo "последние две. Цепочка *fpi() есть *(fpi()), как предполагается в описании, и\n";
echo "та же конструкция требуется в выражении, вызов функции fpi, и затем использова­ние\n";
echo "косвенного обращения через (указательный) результ, чтобы получить целое. В\n";
echo "описателе (*pif)() дополнительные скобки необходимы для указания того, что\n";
echo "косвенность через указатель на функцию дает функцию, которая затем вызывается.\n";
echo "Функции f и fpi описаны как не получающие параметров, а pif как указы­вающая на\n";
echo "функцию, не получающую параметров.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>Описание</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>const a = 10, *pc = &amp;a, *const cpc = pc;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>int b, *const\n";
echo "cp = &amp;b;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>описывает a: целую константу, pc: указатель на\n";
echo "целую константу, cpc: константный указатель на целую константу, b: целое и cp:\n";
echo "константный указатель на целое. Значения a, cpc и cp не могут быть изменены\n";
echo "после инициализации. Значение pc может быть изменено, как и объект, указываемый\n";
echo "cp. Примеры недопустимых выражений:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>a = 1;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>a++;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>*pc = 2;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>cp = &amp;a;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>cpc++;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>Примеры допустимых выражений:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>b = a;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>*cp = a;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>pc++;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "39.9pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>pc = cpc; </span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>Описание</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>fseek\n";
echo "(FILE*,long,int);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>описывает функцию, получающую три параметра\n";
echo "указанных типов. Поскольку тип возвращаемого значения не задан, он при­нимается\n";
echo "int (#8.2). Описание</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>point (int =\n";
echo "0,int = 0);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-indent:33.0pt;text-autospace:\n";
echo "none'>описывает функцию, которая может вызываться без парамет­ров, с одним или\n";
echo "с двумя параметрами типа int. Ее можно вызы­вать одним из следующих способов:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>point (1,2);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>point (1);\n";
echo "point ();</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>Описание</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>printf (char* ... );</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-indent:33.0pt;text-autospace:\n";
echo "none'>описывает функцию, которая может вызываться с различными числом и типами\n";
echo "параметров. Например</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>printf (&quot;hello, world&quot;);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>printf\n";
echo "(&quot;a=%d b=%d&quot;,a,b);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>Однако, всегда ее первым\n";
echo "параметром должен быть char*.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>Описание</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>float fa[17], *afp[17];</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>описывает массив чисел с плавающей точкой и массив\n";
echo "ука­зателей на числа с плавающей точкой. И, наконец,</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>static int x3d[3][5][7];</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>описывает массив целых, размером 3x6x7. Совсем\n";
echo "подробно: x3d является массивом из трех элементов данных; каждый из элементов\n";
echo "данных является массивом из пяти массивов; каждый из последних массивов является\n";
echo "массивом из семи целых. Появ­ление каждое из выражений x3d, x3d[i], x3d[i][j],\n";
echo "x3d[i][j][k] может быть приемлемо в выражении.</p>\n";
echo "\n";
echo "<h4><a name=\"_Toc219968147\">8.4.2 Массивы, Указатели и Индексирование</a></h4>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Всякий раз, когда в выражении появляется\n";
echo "идентификатор типа массива, он преобразуется в указатель на первый элемент\n";
echo "массива. Из-за преобразований массивы не являются lvalue. По определению\n";
echo "операция индексирования [] интерпретируется таким образом, что E1[E2] идентично\n";
echo "*((E1)+(E2)). В силу правил преобразования, применяемых к +, если E1 массив и\n";
echo "E2 целое, то E1[E2] отностится к E2-ому члену E1. Поэтому, несмотря на такое\n";
echo "проявление асимметрии, индексирование является коммута­тивной операцией.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Это правило сообразным образом применяется в случае мно­гомерного\n";
echo "массива. Если E является n-мерным массивом ранга i* j*...*k, то возникающее в\n";
echo "выражении E преобразуется в указа­тель на (n-1)-мерный массив ранга j*...*k.\n";
echo "Если к этому ука­зателю, явно или неявно, как результат индексирования, приме­няется\n";
echo "операция *, ее результатом является (n-1)-мерный массив, на который\n";
echo "указывалось, который сам тут же преобразу­ется в указатель.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>Рассмотрим, например,</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>int x[3][5];</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-indent:33.0pt;text-autospace:\n";
echo "none'>Здесь x - массив целых размером 3*5. Когда x возникает в выражении, он\n";
echo "преобразуется в указатель на (первый из трех) 5</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-autospace:\n";
echo "none'>- элементный массив из целых. В выражении x[i], которое экви­валентно\n";
echo "*(x+i), x сначала преобразуется, как было сказано, в указатель, затем i\n";
echo "преобразуется к типу x, что включает в се­бя умножение i на длину объекта, на\n";
echo "который указывает указа­тель, а именно объект из 5 целых. Результаты\n";
echo "складываются, и используется косвенная адресация для получения массива (из 5\n";
echo "целых), который в свою очередь преобразуется в указатель на первое из целых.\n";
echo "Если есть еще один индекс, снова использует­ся тот же параметр; на этот раз\n";
echo "результатом является целое.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Именно из всего этого проистекает то, что массивы в С++\n";
echo "хранятся строкообразно (быстрее всего изменяется последний индекс), и что в\n";
echo "описании первый индекс помогает определить объем памяти, поглощаемый массивом,\n";
echo "но не играет никакой дру­гой роли в вычислениях индекса.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968148\">8.5 Описания Классов</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Класс есть тип. Его имя становится typedef-имя (см.\n";
echo "#8.8), которое может быть использовано даже внутри самого спецификатора класса.\n";
echo "Объекты класса состоят из последова­тельности членов.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>спецификатор_класса:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>заголовок_класса\n";
echo "(* список_членов opt *)</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-indent:26.4pt;text-autospace:\n";
echo "none'>заголовок_класса (* список_членов opt public : спи­сок_членов opt *)</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>заголовок_класса:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>сост\n";
echo "идентификатор opt</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>сост идентификатор opt : public\n";
echo "opt typedef-имя</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>сост<span\n";
echo "lang=EN-US>:</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>class</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>struct</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'><span lang=EN-US>union</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Объекты классов могут присваиваться, передаваться\n";
echo "как параметры и возвращаться функциями (за исключением объектов некоторых\n";
echo "производных типов, см. #8.5.3). Прочие действия, которые могут быть удобны,\n";
echo "может определить пользователь, см. #8.5.11.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Структура является классом, все члены которого общие, см.\n";
echo "#8.5.9. Объединение является структурой, содержащей в каждый момент только один\n";
echo "член, см. #8.5.13. Список_членов может описывать друзей (8.5.10) и члены вида:\n";
echo "данные, функ­ция, класс, перечисление, поле(#8.5.13). Список_членов может также\n";
echo "содержать описания, регулирующие видимость имен членов, см. #8.5.9.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>список_членов:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>описание_члена\n";
echo "список_членов opt</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>описание_члена:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>спецификаторы_описания\n";
echo "opt описатель_члена ;</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>определение_функции\n";
echo "; opt</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>описатель_члена:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>описатель</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>идентификатор opt : константное_выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Члены, являющиеся классовыми объектами, должны быть\n";
echo "объ­ектами предварительно описанных классов. В частности, класс cl не может\n";
echo "содержать объект класса cl, но он может содержать указатель на объект класса\n";
echo "cl.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:121.4pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>Вот простой\n";
echo "пример описания структуры: struct tnode</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:121.4pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>(*</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:121.4pt;margin-bottom:\n";
echo "0cm;margin-left:52.8pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>char tword[20];</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:121.4pt;margin-bottom:\n";
echo "0cm;margin-left:52.8pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int count;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:121.4pt;margin-bottom:\n";
echo "0cm;margin-left:52.8pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>tnode *left;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:121.4pt;margin-bottom:\n";
echo "0cm;margin-left:52.8pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>tnode *right;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:121.4pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>*);</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>содержащей массив из 20 символов, целое и два\n";
echo "указателя на такие же структуры. Если было дано такое описание, то опи­сание</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>tnode s, *sp</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-autospace:none'>описывает s\n";
echo "как структуру данного сорта и sp как указатель на</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-autospace:none'>структуру данного сорта. При\n";
echo "наличии этих описаний выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>sp-&gt;count</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-autospace:none'>ссылается на поле count структуры,\n";
echo "на которую указывает sp;</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>s.left</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-autospace:none'>ссылается на указатель левого\n";
echo "поддерва структуры s; а</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>s.right-&gt;tword[0]</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-autospace:none'>ссылается\n";
echo "на первый символ члена tword правого поддерва стру­ктуры s.</p>\n";
echo "\n";
echo "<h4><a name=\"_Toc219968149\">8.5.1 Статические Члены</a></h4>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Член данные класса может быть static; члены функции\n";
echo "не могут. Члены не могут быть auto, register или extern. Есть единственная\n";
echo "копия статического члена, совместно используемая всеми членами класса в\n";
echo "программе. На статический член mem класса cl можно ссылаться cl:mem, то есть\n";
echo "без ссылки на объ­ект. Он существует, даже если не было создано ни одного объ­екта\n";
echo "класса cl. Для статического члена не может задаваться никакой инициализатор, и\n";
echo "он не может быть членом класса с конструктором.</p>\n";
echo "\n";
echo "<h4><a name=\"_Toc219968150\">8.5.2 Функции Члены</a></h4>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Функция, описанная как член, (без спецификатора\n";
echo "friend (#8.5.10)) называется функцией членом и вызывается с исполь­зованием\n";
echo "синтаксиса члена класса (#7.1). Например<span lang=EN-US>:</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>struct tnode</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:26.4pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>(*</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>char tword[20];</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int count;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>tnode *left;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>tnode *right;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>void set (char* w,tnode* l,tnode* r);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:26.4pt;text-autospace:none'><span lang=EN-US>*);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>tnode n1, n2;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>n1.set (&quot;asdf&quot;,&amp;n2,0);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>n2.set\n";
echo "(&quot;ghjk&quot;,0,0);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Определение функции члена рассматривается как\n";
echo "находящее­ся в области видимости ее класса. Это значит, что она может\n";
echo "непосредственно использовать имена ее класса. Если определе­ние функции члена\n";
echo "лексически находится вне описания класса, то имя функции члена должно быть\n";
echo "уточнено именем класса с по­мощью операции ::. Определения функций обсуждаются\n";
echo "в #10. Например<span lang=EN-US>:</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>void tnode.set (char* w,tnode* l,tnode* r) (*</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>count = strlen (w);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>if (sizeof (tword)&lt;=count)</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:66.0pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>error (&quot;tnode string too long&quot;);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>strcpy (tword,w);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>left = l;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>right = r;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>*)</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Запись tnode.set определяет то, что функция set\n";
echo "является членом класса tnode и принадлежит его области видисости. Име­на членов\n";
echo "tword, count, left и right относятся к объекту, для которого была вызвана\n";
echo "функция. Так, в вызове n1.set(&quot;abc&quot;,0,0) tword ссылается на n1.tword,\n";
echo "а в вызове n2. set(&quot;def&quot;,0,0) оно ссылается на n2.tword.\n";
echo "Предполагается, что функции strlen, error и strcpy описаны где-то в другом\n";
echo "месте, см. #10.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>В функции члене ключевое слово this является указателем на\n";
echo "объект, для которого вызвана функция.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Функция член может быть определена (#10) в описании\n";
echo "класса, и в этом случак она является inline (#8.1). Например:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>int b;</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>struct x</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:26.4pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>(*</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int f () (* return b; *)</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int f () (* return b; *)</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int b;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:26.4pt;text-autospace:none'><span lang=EN-US>*);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:6.6pt;text-autospace:none'>означает</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int b;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>struct x</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:26.4pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>(*</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int f ();</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int b;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:26.4pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>*);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>inline x::f ()\n";
echo "(* return b; *)</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Применение операции получения адреса к функциям\n";
echo "членам допустимо. Однако, тип параметра результирующего указателя на функцию\n";
echo "неопределн, поэтому любое использование его является зависимым от реализации.</p>\n";
echo "\n";
echo "<h4><a name=\"_Toc219968151\">8.5.3 Производные Классы</a></h4>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>В конструкции</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>сост идентификатор : public opt\n";
echo "typedef-имя</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>typedef-имя должно означать ранее описанный класс,\n";
echo "назы­ваемый базовым классом для описываемого класса. Говорится, что последний\n";
echo "выводится из предшествующего (является произ­водным от него). По поводу смысла\n";
echo "public см. #8.5.9. На члены базового класса можно ссылаться так, как если бы\n";
echo "они были членами производного класса, за исключением тех случаев, ког­да имя\n";
echo "базового члена было переопределено в производном клас­се; в этом случае для\n";
echo "ссылки на скрытое имя можно использо­вать операцию :: (#7.1). Производный класс\n";
echo "сам может использоваться в качестве базового класса. Невозможно стро­исть\n";
echo "производные от union (#8.5.13). Указатель на производный класс может неявно\n";
echo "преобразовываться в указатель на открытый базовый класс (#6.7).</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Для объектов класса, производного от класса, для которо­го\n";
echo "была определена operator= (#8.5.11), присваивание неявно не определено (#7.14 и\n";
echo "#8.5)</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>Например<span lang=EN-US>:</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>class base</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:26.4pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>(*</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int a, b;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:26.4pt;text-autospace:none'><span lang=EN-US>*);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>class derived : public base</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:26.4pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>(*</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int b, c;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:26.4pt;text-autospace:none'><span lang=EN-US>*);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>derived d;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>d.a = 1;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>d.base::b = 2;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>d.b = 3;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>d.c = 4;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-autospace:none'>осуществляет присваивание четырем\n";
echo "членам d.</p>\n";
echo "\n";
echo "<h4><a name=\"_Toc219968152\">8.5.4 Виртуальные Функции</a></h4>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Если базовый класс base содержит virtual\n";
echo "(виртуальную) (#8.1) функцию vf, а производный класс derived также содержит\n";
echo "функцию vf, то обе функции должны иметь один и тот же тип, и вызов vf для\n";
echo "объекта класса derived вызывает derived::vf. Например<span lang=EN-US>:</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>struct base</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:26.4pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>(*</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>virtual void vf ();</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:92.4pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>void f ();</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:26.4pt;text-autospace:none'><span lang=EN-US>*);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:19.8pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>class derived : public base</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:26.4pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>(*</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>void vf ();</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>void f ();</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:26.4pt;text-autospace:none'><span lang=EN-US>*);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>derived d;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>base* bp = &amp;d;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>bp-&gt;vf();</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>bp-&gt;f();</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Вызовы вызывают, соответственно, derived::vf и\n";
echo "base::f для объекта класса derived, именованного d. Так что интерпре­тация\n";
echo "вызова виртуальной функции зависит от типа объекта, для которого она вызвана, в\n";
echo "то время как интерпретация вызова не­виртуальной функции зависит только от типа\n";
echo "указателя, обозна­чающего объект.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:33.0pt;margin-bottom:.0001pt;text-autospace:none'>Виртуальная\n";
echo "функция не может быть другом (friend) (#8.5.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-autospace:\n";
echo "none'>10). Функция f в классе, выведенном из класса, который имеет виртуальную\n";
echo "функцию f, сама считается виртуальной. Виртуаль­ная функция в базовом классе\n";
echo "должна быть определена. Вирту­альная функция, которая была определена в базовом\n";
echo "классе, не обязательно должна определяться в производном классе. В этом случае\n";
echo "во всех вызовах используется функция, определенная для базового класса.</p>\n";
echo "\n";
echo "<h4><a name=\"_Toc219968153\">8.5.5 Конструкторы</a></h4>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Функция член с именем, совпадающим с именем ее\n";
echo "класса, называется конструктором. Если класс имеет конструктор, то он\n";
echo "вызывается для каждого объекта этого класса перед тем, как этот объект будет\n";
echo "как- либо использован, см. #8.6.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>Конструктор не может быть\n";
echo "virtual или friend.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Если класс имеет базовый класс или объекты члены с\n";
echo "конс­трукторами, их конструкторы вызываются до конструктора произ­водного\n";
echo "класса. Первым вызывается конструктор базового клас­са. Объяснение того, как\n";
echo "для таких конструктороу могут специфицироваться параметры , см. в #10, а того,\n";
echo "как конс­трукторы могут использоваться для управления свободной па­мятью, см. в\n";
echo "#8.5.8.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Объект класса с конструктором не может быть членом объ­единения.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Для конструктора нельзя задать возвращаемое значение, как\n";
echo "нельзя использовать оператор return в теле конструктора.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Конструктор может явно применяться для создания\n";
echo "новых объектов его типа используя синтаксис</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>typedef-имя ( список_параметров\n";
echo "opt )</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>Например<span lang=EN-US>,</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>complex zz = complex (1,2.3);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>cprint (complex (7.8,1.2));</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Объекты, созданные таким образом, не имеют имени\n";
echo "(если только конструктор не использован как инициализатор, как это было с zz\n";
echo "выше), и их время жизни ограничено областью види­мости, в которой они созданы.</p>\n";
echo "\n";
echo "<h4><a name=\"_Toc219968154\">8.5.6 Преобразования</a></h4>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Конструктор, получающий один параметр, определяет\n";
echo "преоб­разование из типа своего параметра в тип своего класса. Такие преобразования\n";
echo "неявно применяются дополнительно к стандартным пробразованиям (#6.6-7). Поэтому\n";
echo "присваивание объекту из класса X допустимо, если тип T присваиваемого значения\n";
echo "есть X, или если было описано преобразование из T в X. Аналогично конструкторы\n";
echo "используются для преобразования инициализаторов (#8.6), параметров функции\n";
echo "(#7.1) и возвращаемых функцией значений (#9.10). Например:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>class X (*\n";
echo "... <span lang=EN-US>X (int); *);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>f (X arg) (*</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:190.05pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-align:justify;text-autospace:\n";
echo "none'><span lang=EN-US>X a = 1; // a = X (1) a = 2; // a = X (2) f (3); // f (X\n";
echo "(3))</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:190.05pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>*)</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Если ни один конструктор для класса X не получает\n";
echo "прис­ваиваемый тип, то не делается никаких попыток отыскать другие конструкторы\n";
echo "для преобразования присваиваемого значения в тип, который мог бы быть приемлем\n";
echo "для конструкторов класса X. Например:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>class X (* ... X (int); *);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>class X (* ... Y (X); *);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>Y a = 1; //\n";
echo "недопустимо: Y (X (1)) не пробуется</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>Функция член\n";
echo "класса X с именем вида имя_функции_преобразования:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>operator тип</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>задает преобразование из X в тип. Тип не может\n";
echo "содержать описания [] &quot;вектор из&quot; или () &quot;функция, возвращающая&quot;.\n";
echo "Оно будет применяться неявно аналогично конструкторам выше (толь­ко если оно\n";
echo "единственно: #8.9), или его можно вызвать явно с помощью записи приведения к\n";
echo "типу. Например:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>class X (*</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>// ...</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>operator int();</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>*);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>X a;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int i = int(a);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>i = (int)a;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>i = a;</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Во всех трех случаях значене будет\n";
echo "преобразовываться функцией X::operator int(). Применение определяемых пользова­телем\n";
echo "преобразований не сводится только к присваиваниям и инициализациям. Например:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>X a, b;</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>// ...</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int i = (a) ? 1+a : 0;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>int j =\n";
echo "(a&amp;&amp;b) ? a+b : i;</span></p>\n";
echo "\n";
echo "<h4><a name=\"_Toc219968155\">8.5.7 Деструкторы</a></h4>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Функция член класса cl с именем ~cl называется\n";
echo "деструк­тором. Деструктор не возвращает никакого значения и не полу­чает\n";
echo "никаких параметров; он используется для уничтожения зна­чений типа cl\n";
echo "непосредственно перед уничтожением содержащего их объекта. Деструктор не может\n";
echo "быть вызван явно.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Деструктор для базового класса выполняется после дест­руктора\n";
echo "производного от него класса. Деструкторы для объектов членов выполняются после\n";
echo "деструктора для объекта, членом ко­торого они являются. Как деструкторы\n";
echo "используютя для управле­ния свободной памятью, см. объяснение в #8.5.8.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Объект класса с деструктором не может быть членом объ­единения.</p>\n";
echo "\n";
echo "<h4><a name=\"_Toc219968156\">8.5.8 Свободная Память</a></h4>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Когда с помощью операции new создается классовый\n";
echo "объект, то для получения необходимой памяти конструктор будет (неяв­но)\n";
echo "использовать operator new (#7.1). Конструктор может осу­ществить свое\n";
echo "собственное резервирование памяти посредством присваивания указателю this до\n";
echo "каких-либо использований чле­на. С помощью присваивания this значения ноль деструктор\n";
echo "мо­жет избежать стандартной операции дерезервирования памяти для объекта его\n";
echo "класса. Например:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>class cl (*</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int v[10];</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>cl () (* this = my_own_allocator (sizeof (cl)); *)</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>~cl () (* my_own_deallocator (this); this = 0; *)</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>*)</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>На входе в конструктор this являеется не-нулем,\n";
echo "если ре­зервирование памяти уже имело место (как это имеет место для auto,\n";
echo "static объектов и объектов членов), и нулем в остальных случаях.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Вызовы конструкторов для базового класса и объектов\n";
echo "чле­нов будут иметь место после присваивания указателю this. Если конструктор\n";
echo "базового класса осуществляет присваивание this, то новое значение также будет\n";
echo "использоваться конструктором производного класса (если таковой есть).</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>При уничтожении вектора объектов класса с деструктором\n";
echo "необходимо указывать число элементов. Например:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>class X (*\n";
echo "... <span lang=EN-US>~X(); *);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:216.45pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>X* p = new X [size]; delete[size] p;</span></p>\n";
echo "\n";
echo "<h4><a name=\"_Toc219968157\">8.5.9 Видимость Имен Членов</a></h4>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Члены класса, описанные с ключевым словом class,\n";
echo "являют­ся закрытыми, то есть, их имена могут использоваться только функциями\n";
echo "членами (#8.5.2) и друзьями (см. #8.5.10), если они не стоят после метки\n";
echo "&quot;public:&quot;. В этом случае они являются открытыми. Открытый член может\n";
echo "использоваться любой функцией. Struct является классом, все члены которого\n";
echo "общие, см. #8.5.12.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Если производный класс описан как struct или если перед\n";
echo "именем базового класса в описании производного класса стоит ключевое слово\n";
echo "public, то общие члены базового класса являют­ся общими для производного класа;\n";
echo "в остальных случаях они яв­ляются закрытыми. Открытый член mem закрытого\n";
echo "базового класса base может быть описан как общий для производного класса с\n";
echo "помощью опиисания вида</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:33.0pt;text-autospace:none'>typedef-имя :: идентификатор ;</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>в котором typedef-имя обозначает базовый класс, а\n";
echo "иден­тификатор есть имя члена базового класса. Такое описание должно стоять в\n";
echo "открытой части производного класса. Рассмот<span lang=EN-US>­</span>рим</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>class base (*</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int a;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>public:</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int b, c;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int bf();</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>*);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>class derived : base (*</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int d;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>public:</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>base::c;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int e;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int df();</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>*);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>int\n";
echo "ef(derived&amp;);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "106.4pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Внешняя функция ef может использовать только имена c, e и df. Являясь\n";
echo "членом производного derived, функция df может использовать имена b, c, bf, d, e\n";
echo "и df, но не a. Являясь чле­ном базового base, функция bf может использовать\n";
echo "члены a, b, c и bf. </p>\n";
echo "\n";
echo "<h4><a name=\"_Toc219968158\">8.5.10 Друзья</a></h4>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Друг класса - это функция не-член, которая может\n";
echo "исполь­зовать имена закрытых членов. Друг не принадлежит области ви­димости\n";
echo "класса и не вызывается с помощью синтаксиса выбора члена (если он не является\n";
echo "членом другого класса). Следующий пример иллюстрирует различия между членами и\n";
echo "друзьями:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>class private (*</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int a;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>friend void friend_set(private*, int);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>public:</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>void member_set(int);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>*);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>void friend_set\n";
echo "(private* p, int i) (* p-&gt;a = i; *)</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>void\n";
echo "private::member_set (int i) (* a = i; *)</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>private obj;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>friend_set (&amp;obj,10);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>obj.member_set\n";
echo "(10);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Если описание friend отностися к перегруженному\n";
echo "имени или операции, то другом становится только функция, задаваемая типами\n";
echo "параметров. Член класса cl1 может быть другом класса cl2. Например:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>class cl2 (*</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>friend char* cl1::foo(int);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>// ...</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>*);</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-indent:33.0pt;text-autospace:\n";
echo "none'>Все функции класса cl1 могут быть сделаны друзьями клас­са cl2 с помощью\n";
echo "одного описания</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>class cl2 (*</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>friend class cl1 ;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>// ...</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>*);</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Функция член, определенная (#10) в описании класса,\n";
echo "яв­ляется inline.</p>\n";
echo "\n";
echo "<h4><a name=\"_Toc219968159\">8.5.11 Функция Операция</a></h4>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-indent:33.0pt;text-autospace:\n";
echo "none'>Большинство операций могут быть перегружены с тем, чтобы они могли получать\n";
echo "в качестве операндов объекты класса.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>имя_функции_операции:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>operator операция</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>операция:\n";
echo "одна из</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>new delete</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>+ - * / % ^\n";
echo "&amp; ! ~</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>! = &lt; &gt;\n";
echo "+= -= *= /= %=</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>^= &amp;= !=\n";
echo "&lt;&lt; &gt;&gt; &lt;&lt;= &gt;&gt;= == !=</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>&lt;= &gt;= &amp;&amp; !! ++ --\n";
echo "() []</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Последние две операции - это вызов функции и\n";
echo "индексиро­вание. Функция операция (за исключением operator new и operator\n";
echo "delete; см. #7.2) должна быть или функцией членом, или получать по меньшей мере\n";
echo "один классовый параметр. См. также #7.16.</p>\n";
echo "\n";
echo "<h4><a name=\"_Toc219968160\">8.5.12 Структуры</a></h4>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-indent:33.0pt;text-autospace:\n";
echo "none'>Структура есть класс, все члены которого общие. Это зна­чит, что</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>struct s (*\n";
echo "... <span lang=EN-US>*);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-autospace:none'>эквивалентно</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>class s (*\n";
echo "public: ... </span>*);</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Структура может иметь функции члены (включая\n";
echo "конструкто­ры и деструкторы). Базовй класс производной struct является\n";
echo "открытым. Это значит, что</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>struct s : d (* ... <span\n";
echo "lang=EN-US>*);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-autospace:none'>эквиволентно</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>class s :\n";
echo "public b (* public: ... </span>*);</p>\n";
echo "\n";
echo "<h4><a name=\"_Toc219968161\">8.5.13 Объединения</a></h4>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Объединение можно считать структурой, все объекты\n";
echo "члены которой начинаются со смещения 0, и размер которой достаточен для\n";
echo "содержания любого из ее объектов членов. В каждый момент времени в объединеии\n";
echo "может храниться не больше одного из объ­ектов членов. Объединение может иметь\n";
echo "функции члены (включая конструкторы и деструкторы). Из объединения невозможно\n";
echo "вывес­ти класс. Объект класса с конструктором или деструктором не может быть\n";
echo "членом объединения.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>Объединение вида</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>union (* список_членов *);</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>называется безымянным объединением; оно определяет\n";
echo "неи­менованный объект. Имена членов безымянного объединения долж­ны отличаться\n";
echo "от других имен в области видимости, в которой объединение описано; в этой\n";
echo "области видимости они могут ис­пользоваться непосредственно, без обычного\n";
echo "синтаксиса доступа к членам (#8.5). Например<span lang=EN-US>:</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>union (* int a; char* p; *);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>a = 1;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>// ...</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>p =\n";
echo "&quot;asdf&quot;;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Здесь a и p используются как простые переменные\n";
echo "(не-чле­ны), но так как они являются членами объединения, они имеют один и тот\n";
echo "же адрес.</p>\n";
echo "\n";
echo "<h4><a name=\"_Toc219968162\">8.5.14 Поля Бит</a></h4>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:33.0pt;text-autospace:none'>Описатель_члена вида</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>идентификатор opt :\n";
echo "константное_выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>определяет поле; его длина отделяется от имени поля\n";
echo "дво­еточием. Поля упаковываются в машинные целые; они не являются альтернативой\n";
echo "слов. Поле , не влезающее в оставшееся в целом место, помещается в следующее\n";
echo "слово. Поле не может быть шире слова. На некоторых машинах они размещаются\n";
echo "справа налево, а на некоторых слева направо, см. #2.6.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Неименованные поля полезны при заполнении для согласова­ния\n";
echo "внешне предписанных размещений (форматов). В особых слу­чаях неименованные поля\n";
echo "длины 0 задают выравнивание следующе­го поля по границе слова. Не требуется\n";
echo "аппаратной поддержки любых полей, кроме целых. Более того, даже целые поля\n";
echo "могут рассматриваться как unsigned. По этим причинам рекомендуется описывать\n";
echo "поля как unsigned. К полям не может применяться операция получения адреса\n";
echo "&amp;, поэтому нет указателей на поля.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:33.0pt;text-autospace:none'>Поля не могут быть членами\n";
echo "объединения.</p>\n";
echo "\n";
echo "<h4><a name=\"_Toc219968163\">8.5.15 Вложенные Классы</a></h4>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Класс может быть описан внутри другого класса. Это,\n";
echo "од­нако, лишь соглашение о записи, поскольку внутренний класс принадлежит\n";
echo "охватывающей области видимости. Например:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>int x;</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>class enclose (* // </span>охватывающий</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int x;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>class inner (* // </span>внутренний</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:66.0pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int y;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:66.0pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>void f(int);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>*);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int g(inner*);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>*);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>inner a;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>void inner::f(int i) (* x = i; *)                                                      //\n";
echo "</span>присваивает<span lang=EN-US> ::x</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>int\n";
echo "enclose::g(inner* p) (* return p-&gt;y; *) // </span>ошибка</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968164\">8.6 Инициализация</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-indent:33.0pt;text-autospace:\n";
echo "none'>Описатель может задавать начальное значение описываемого идентификатора.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>инициализатор:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>= выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>= (* список_инициализаторов\n";
echo ", opt *)</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>(\n";
echo "список_выражений )</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>список_инициализаторов:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>список_инициализаторов\n";
echo ", список_инициализаторов</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>(* список_инициализаторов *)</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Все выражения в инициализаторе статической или\n";
echo "внешней переменной должны быть константными выражениями, которые опи­саны в\n";
echo "#12, или выражениями, которые сводятся к адресам ранее описанных переменных,\n";
echo "возможно со смещением на константное выражение. Автоматические и регистровые\n";
echo "переменные могут ини­циализироваться любыми выражениями, включащими константы, ра­нее\n";
echo "описанные переменные и функции.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Гарантируется, что неинициализированные статические и внешние переменные\n";
echo "получают в качестве начального значения 0. Гарантируется, что\n";
echo "неинициализированные автоматические и ре­гистровые переменные получают в\n";
echo "качестве начального значения &quot;пустое место&quot;*.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-autospace:none'>--------------------</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>* В английском - &quot;garbage&quot;, означающее\n";
echo "затертое место [памяти], т.е. если переменная целая, то 0, если char, то '\0',\n";
echo "если указатель на Т, то (Т*) NULL. (прим. перев.)</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Когда инициализатор применяется к скаляру (указатель или\n";
echo "объект арифметического типа), он состоит из одного выражения, возможно,\n";
echo "заключенного в фигурные скобки. Начальное значение объекта находится из\n";
echo "выражения; выполняются те же преобразо­вания, что и при присваивании.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Заметьте, что поскольку () не является инициализатором, то\n";
echo "X a(); является не описанием объекта класса X, а описанием функции, не\n";
echo "получающей значений и возвращающей X.</p>\n";
echo "\n";
echo "<h4><a name=\"_Toc219968165\">8.6.1 Список Инициализаторов</a></h4>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Когда описанная переменная является составной\n";
echo "(класс или массив), то инициализатор может состоять из заключенного в фигурные\n";
echo "скобки, разделенного запятыми списка инициализаторов для членов составного\n";
echo "объекта, в порядке возрастания индекса или по порядку членов. Если массив\n";
echo "содерхит составные подобъ­екты, то это правило рекурсивно применяется к членам\n";
echo "состав­ного подобъекта. Если инициализаторов в списке меньше, чем членов в\n";
echo "составном подобъекте, то составной подобъект допол­няется нулями.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Фигурные скобки могут опускаться следующим образом. Если\n";
echo "инициализатор начинается с левой фигурной скобки, то следую­щий за ней список\n";
echo "инициализаторов инициализирует члены сос­тавного объекта; наличие числа\n";
echo "инициализаторов, большего, чем число членов, считается ошибочным. Если, однако,\n";
echo "инициализа­тор не начинается с левой фигурной скобки, то из списка бе­рутся\n";
echo "только элементы, достаточные для сопоставления элемен­там составного объекта;\n";
echo "все остающиеся элементы оставляются для инициализации следующего элемента\n";
echo "составного объекта, частью которого является текущий составной объект.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>Например,</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>int x[] = (* 1, 3, 5 *);</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>описывает и инициализирует x как одномерный массив,\n";
echo "име­ющий три элемента, поскольку размер не был указан и дано три\n";
echo "инициализатора.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>float y[4][3]\n";
echo "= (*</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:52.8pt;margin-bottom:.0001pt;text-autospace:none'>(* 1, 3, 5\n";
echo "*),</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:52.8pt;margin-bottom:.0001pt;text-autospace:none'>(* 2, 4, 6\n";
echo "*),</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:52.8pt;margin-bottom:.0001pt;text-autospace:none'>(* 3, 5, 7 *)</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>*);</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>является полностью снабженной квадратными скобками\n";
echo "ини­циализацией: 1,3 и 5 инициализируют первый ряд массива y[0], а именно,\n";
echo "y[0][0], y[0][1] и y[0][2]. Аналогично, следующие две строки инициализируют\n";
echo "y[1] и y[2]. Инициализатор заканчи­вается раньше, поэтому y[3] инициализируется\n";
echo "0-ями. В точ­ноcти тот же эффект может быть достигнут с помощью</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>float y[4][3]\n";
echo "= (*</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>1, 3, 5, 2,\n";
echo "4, 6, 3, 5, 7</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>*);</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Инициализатор для y начинается с левой фигурной\n";
echo "скобки, но не начинается с нее инициализатор для y[0], поэтому ис­пользуется\n";
echo "три значения из списка. Аналогично, следующие три успешно используются для y[1]\n";
echo "и следующие три для y[2]. Так же</p>\n";
echo "\n";
echo "<p class=MsoNormal align=center style='margin-top:13.3pt;margin-right:10.55pt;\n";
echo "margin-bottom:13.3pt;margin-left:0cm;text-align:center;text-autospace:none'>float\n";
echo "y[4][3] = (* (* 1 *), (* 2 *), (* 3 *), (* 4 *) *);</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>инициализирует первый столбец y (рассматриваемого\n";
echo "как двумерный массив) и оставляет остальные элементы нулями.</p>\n";
echo "\n";
echo "<h4><a name=\"_Toc219968166\">8.6.2 Объекты Классов</a></h4>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Объект с закрытыми членами не может быть\n";
echo "инициализован списком инициализаторов; это же относится к объекту объедине­ние.\n";
echo "Объект класса с конструктором должен инициализироваться. Если класс имеет\n";
echo "конструктор, не получающий параметров, то этот конструктор используется для\n";
echo "объектов, которые явно не инициализированы. Список параметров для конструктора\n";
echo "можно добавлять к имени в описании или к типу в выражении new. Сле­дующие\n";
echo "инициализации все дают одно и тоже значение (#8.4):</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>struct complex (*</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>float re;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>float im;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>complex (float r,float i = 0) (* re=r; im=i; *)</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>*);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>complex zz1(1,0);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>complex zz2(1);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>complex* zp1 = new complex (1,0);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>complex* zp1 =\n";
echo "new complex (1);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Объекты класса могут также инициализироваться с\n";
echo "помощью явного использования операции =. Например<span lang=EN-US>:</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>complex zz3 = complex (1,0);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>complex zz4 = complex (1);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>complex zz5 = 1;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>complex zz6 =\n";
echo "zz3;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Если есть конструктор, получающий ссылку на объект\n";
echo "свое­го собственного класса, то он будет вызываться при инициали­зации объекта\n";
echo "другим объектом этого класса, но не при инициа­лизации объекта конструктором.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Объект может быть членом составного объекта только (1)\n";
echo "если класс объекта не имеет конструктора, или (2) если его конструкторы не\n";
echo "имеют параметров, или (3) если составной объ­ект является классом с конструктором,\n";
echo "который задает список инициализации члена (см. #10). В случае 2 конструктор\n";
echo "вызыва­ется при создании составного объекта. Если составной объект является\n";
echo "классом (но не тогда, когда он является вектором) для вызова конструктора могут\n";
echo "использоваться параметры по умолчанию. Если член составного объекта является\n";
echo "членом клас­са с деструкторами, то этот деструктор вызывается при уничто­жении\n";
echo "составного объекта.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Конструкторы для нелокальных статических объектов вызы­ваются\n";
echo "в порядке их появления в файле; деструкторы для вызываются в обратном порядке.\n";
echo "Вызывается ли конструктор или деструктор для локального статического объекта в\n";
echo "случае если функция, в которой объект описан, не вызывается, не определе­но.\n";
echo "Если конструктор для локального статического объекта вы­зывается, то он\n";
echo "вызывается после конструкторов для глобальных объектов, лексически ему\n";
echo "предшествующих. Если для локального статического объекта вызывается деструктор,\n";
echo "то он вызывается до деструкторов для глобальных объектов, лексически ему пред­шествующих.</p>\n";
echo "\n";
echo "<h4><a name=\"_Toc219968167\">8.6.3 Ссылки</a></h4>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Когда переменная описана как T&amp;, то есть\n";
echo "&quot;ссылка на тип T&quot;, она должна быть инициализирована или объектом типа\n";
echo "T, или объектом объектом, который может быть преобразован в T. Ссыл­ка\n";
echo "становится другим именем объекта. Например:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>int i;</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int&amp; r = i;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>r = 1; //\n";
echo "значение i становится 1</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>int* p = &amp;r; // p указывает\n";
echo "на i</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-indent:33.0pt;text-autospace:\n";
echo "none'>Значение ссылки не может быть изменено после инициализа­ции. Заметьте,\n";
echo "что обработка инициализации ссылки очень силь­но зависит от того, что ей\n";
echo "присваивается.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Если инициализатор для ссылки на тип T не является\n";
echo "lvalue, то будет создан и инициализован инициализатором объ­ект типа T. Тогда\n";
echo "ссылка станет именем для этого объекта. Время жизни объекта, созданного таким\n";
echo "способом, будет область видимости, в которой он создан. Например:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>double&amp; rr = 1;</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>допустимо, и rr будет указывать на объект типа\n";
echo "double, содержащий значение 1.0.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Заметьте, что ссылка на класс B может быть инициализиро­вана\n";
echo "объектом класса D при условии, что B является открытым базовым классом класса D\n";
echo "(в этом случае D есть B).</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Ссылки особенно полезны в качестве типов параметров.\n";
echo "Например<span lang=EN-US>:</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>struct B (* ... *);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>struct D : B (* ... *);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int f(B&amp;);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:295.65pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>D a; f(a);</span></p>\n";
echo "\n";
echo "<h4><a name=\"_Toc219968168\">8.6.4 Массивы Символов</a></h4>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Массив char можно инициализировать строкой.\n";
echo "Последова­тельные символы строки инициализируют члены массива. Напри<span\n";
echo "lang=EN-US>­</span>мер<span lang=EN-US>:</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>char msg[] =\n";
echo "&quot;Syntax error on line %d\n&quot;;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>демонстрирует массив символов, члены которого\n";
echo "инициали­зированы строкой. Обратите внимание, что sizeof(msg)==25.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968169\">8.7 Имена Типов</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Иногда (для неявного задания преобразования типов и\n";
echo "в качестве параметра sizeof или new) нужно использовать имя ти­па данных. Это\n";
echo "выполняется при помощи &quot;имени типа&quot; которое по сути является\n";
echo "описанием для объекта этого типа, в котором опущено имя объекта.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>имя_типа:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>спецификатор_типа\n";
echo "абстрактный_описатель</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>абстрактный_описатель:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>пустой</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>*\n";
echo "абстрактный_описатель</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>абстрактный_описатель\n";
echo "( списоко_писателей_параметров)</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>абстрактный_описатель\n";
echo "[ константное_выражение opt ]</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>( абстрактный_описатель )</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Возможно единственным образом идентифицировать\n";
echo "положение в абстрактном_описателе, где должен стоять идентификатор в случае,\n";
echo "если бы конструкция была описателем в описании. Тогда именованный тип является\n";
echo "- тот же, что и тип гипотетического идентификатора. Например,</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>int</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>int *</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int *[3]</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int (*)[3]</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int *()</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>int (*)()</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>именуют, соответсвенно, типы &quot;целое&quot;,\n";
echo "&quot;указатель на це­лое&quot;, &quot;массив из 3 указателей на целые&quot;,\n";
echo "&quot;указатель на массив из 3 целых&quot;, &quot;функция, возвращающая\n";
echo "указатель на целое&quot; и &quot;указатель на функцию, возвращающую\n";
echo "целое&quot;.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968170\">8.8 Typedef - Определение Типа</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Описания, содержащие спецификатор_описания typedef, оп­ределяют\n";
echo "идентификаторы, которы позднее могут использоваться так, как если бы они были\n";
echo "ключевыми словами, именующими ос­новные или производные типы.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>typedef-имя:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>идентификатор </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Внутри области видимости описания, содержащего typedef, каждый\n";
echo "идентификатор, возникающий как часть какого-либо опи­сателя, становится в этом\n";
echo "месте синтаксически эквивалентным ключевому слову типа, которое именует тип,\n";
echo "ассоциированный с идентификатором таким обрахом, как описывается в #8.4. Специ­фикатор_описания\n";
echo "typedef не может использоваться для члена класса. Имя класса или перечисления\n";
echo "также является typedef-именем. Например<span lang=EN-US>, </span>после</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>typedef int MILES, *KLICKSP;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>struct complex\n";
echo "(* double re, im; *); </span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:0cm;text-autospace:none'>каждая из конструкций </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>MILES\n";
echo "distance;</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>extern KLICKSP metricp;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>complex z, *zp;\n";
echo "</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>является допустимым описанием; distance имеет тип int, metricp имеет тип\n";
echo "&quot;указатель на int&quot;.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>typedef вводит не новые типы, но только синонимы для ти­пов, которые\n";
echo "могли бы быть определены другим путем. Так в приведенном выше примере distance\n";
echo "рассматривается как имеющая в точности тот же тип, что и любой другой int\n";
echo "объект.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'>Но описание класса вводит новый\n";
echo "тип. Например<span lang=EN-US>: </span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>struct X (* int a; *);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>struct Y (* int a; *);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>X a1;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:285.1pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>Y a2; int a3;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:0cm;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-autospace:none'>описывает три переменных трех\n";
echo "различных типов.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:0cm;margin-bottom:26.6pt;\n";
echo "margin-left:13.2pt;text-autospace:none'>Описание вида </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-left:13.2pt;text-autospace:none'>описание_имени:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-left:39.6pt;text-autospace:none'>сост\n";
echo "идентификатор ;</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:0cm;margin-bottom:26.6pt;\n";
echo "margin-left:39.6pt;text-autospace:none'>enum идентификатор ; </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>специфицирует, что идентификатор является именем\n";
echo "некото­рого (возможно, еще не определенного) класса или перечисле­ния. Такие\n";
echo "описания позволяют описывать классы, ссылающихся друг на друга. Например<span\n";
echo "lang=EN-US>:</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>class vector;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>class matrix (*</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>// ...</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>friend vector operator*(matrix&amp;, vector&amp;);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>*); </span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>class vector (*</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>// ...</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>friend matrix operator*(matrix&amp;, vector&amp;);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'>*); </p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968171\">8.9 Перегруженные Имена Функций</a> </h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>В тех случаях, когда для одного имени определено нес­колько (различных)\n";
echo "описаний функций, это имя называется пе­регруженным. При использовании этого\n";
echo "имени правильная функция выбирается с помощью сравнения типов фактических\n";
echo "параметров с типами формальных параметров в описаниях функций.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Поиск того, какую функцию вызвать, осуществляется в три отдельных шага:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-indent:33.0pt;text-autospace:none'>Искать точно\n";
echo "соответствующую и использовать, если найде­на.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-indent:33.0pt;text-autospace:none'>Искать\n";
echo "соответствующую с использованием стандартных пре­образований (#6.6-8) и\n";
echo "использовать любую найденную.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Искать соответствующую с использованием определенных пользователем\n";
echo "преобразований (#6.5.6). Если найдено единс­твенное множество преобразований,\n";
echo "использовать ее.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Ноль, char или short считаются точно соответствующими формальному\n";
echo "параметру типа int. Float считаются точно соот­ветствующими формальному параметру\n";
echo "типа double.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Над параметром перегруженной функции выполняются только\n";
echo "следующе преобразования: int в long, int в double и преобра­зования указателей\n";
echo "и ссылок (#6.7-8).</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Для того, чтобы перегрузить имя функции не члена и не функции operator,\n";
echo "любому описанию функции должно предшество­вать описание overload, см. <span\n";
echo "lang=EN-US>#8.1. </span>Например<span lang=EN-US>:</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>overload abs;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>double abs(double);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>int abs(int); </span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>abs(1); //\n";
echo "вызывается abs(int);</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'>abs(1.0); // вызывается\n";
echo "abs(double); </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'>Например: </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>class X (* ... X (int); *);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>class Y (* ... Y (int); *);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>class Z (* ...\n";
echo "Z (char*); *); </span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>overload int f (X), f (Y);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>overload int g\n";
echo "(X), g (Z); </span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>f (1); //\n";
echo "недопустимо: f(X(1)) или f(Y(1))</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>g (1); // g(X(1))</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>g\n";
echo "(&quot;asdf&quot;); // g(Z(&quot;asdf&quot;)) </span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Операция взятия адреса &amp; может применяться к перегружен­ному имени\n";
echo "только в присваивании или инициализации, когда ожидаемый тип определяет, адрес\n";
echo "какой функции брать. Напри<span lang=EN-US>­</span>мер<span lang=EN-US>:</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int operator=(matrix&amp;, matrix&amp;);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int operator=(vector&amp;, vector&amp;);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int (*pfm)(matrix&amp;, matrix&amp;) = &amp;operator=;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int (*pfv)(vector&amp;, vector&amp;) = &amp;operator=;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>int (*pfx)(...)\n";
echo "= &amp;operator=; </span></p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968172\">8.10 Описания Перечислений</a> </h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-indent:33.0pt;text-autospace:none'>Перечисления\n";
echo "являются типами int с именованными констан­тами.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>enum_спецификатор:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>enum идентификатор opt (*\n";
echo "enum_список *) </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>enum_список:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>перечислитель</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>enum_список , перечислитель </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>перечислитель:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>идентификатор</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>идентификатор =\n";
echo "константное_выражение </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Идентификаторы в enum-списке описаны как константы\n";
echo "и мо­гут появляться во всех местах, где требуются константы. Если не появляется\n";
echo "ни одного перечислителя с =, то значения соот­ветствующих констант начинаются с\n";
echo "0 и возрастают на 1 по мере чтения описания слева нарпаво. Перечислитель с =\n";
echo "дает ассоци­ированному с ним идентификатору указанное значение; последую­щие\n";
echo "идентификаторы продолжают прогрессию от присвоенного зна­чения.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Имена перечислителей должны быть отличными от имен обычных\n";
echo "переменных. Имена перечислителей с разными константа­ми тоже должны быть\n";
echo "различны. Значения перечислителей не обя­зательно должны быть различными.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:33.0pt;margin-bottom:.0001pt;text-autospace:none'>Роль\n";
echo "идентификатора                   в          спецификаторе   перечисления</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-autospace:none'>enum_спецификатор\n";
echo "полностью аналогична роли имени класса;  он</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:0cm;text-autospace:none'>именует определенный нутератор.\n";
echo "Например<span lang=EN-US>: </span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>enum color (* red, yellow, green=20, blue *);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:26.4pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>color col = red;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:26.4pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>color *cp = &amp;col;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:26.4pt;text-autospace:none'><span lang=EN-US>if (*cp ==\n";
echo "blue) // ... </span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>делает color именем типа, описывающего различные цвета, и затем описывает\n";
echo "col как объект этого типа, а cp как указа­тель на объект этого типа. Возможные\n";
echo "значения лежат во мно­жестве (* 0, 1, 20, 21 *).</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968173\">8.11 Описание Asm</a> </h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'>Описание Asm имеет вид </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:26.4pt;text-autospace:none'>asm ( строка ); </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-indent:33.0pt;text-autospace:\n";
echo "none'>Смысл описания asm неопределен.  Обычно оно используется для передачи информации\n";
echo "ассемблеру через компилятор.</p>\n";
echo "\n";
echo "<h2><a name=\"_Toc219968174\">9. Операторы</a></h2>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Операторы выполняются последовательно во всех случаях кроме особо\n";
echo "оговоренных.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968175\">9.1 Оператор Выражение</a> </h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Большинство операторов является операторами выражение, которые имеют вид</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'>выражение ; </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-indent:33.0pt;text-autospace:none'>Обычно операторы\n";
echo "выражение являются присваиваниями и вы­зовами функций.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968176\">9.2 Составной Оператор, или Блок</a> </h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Составной оператор (называемый также &quot;блок&quot;, что эквива­лентно)\n";
echo "дает возможность использовать несколько операторов в том месте, где\n";
echo "предполагается использование одного:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>составной_оператор:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>(* список_операторов opt *)</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>список_операторов:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>оператор</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>оператор список_операторов</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Обратите внимание, что описание - это вариант оператора (#9.14).</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968177\">9.3 Условный Оператор</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:33.0pt;text-autospace:none'>Есть два вида условных\n";
echo "операторов</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>if (\n";
echo "выражение ) оператор</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'>if ( выражение ) оператор else\n";
echo "оператор </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Выражение должно быть арифметического или указательного типа или\n";
echo "классового типа, для которого определено преобразо­вание в арифметический или\n";
echo "указательный тип (см. #8.5.6). Вы­числяется выражение, и если оно не ноль, то\n";
echo "выполняется пер­вый подоператор. Если используется &quot;else&quot;, то второй\n";
echo "подоператор выполняется, если выражение есть 0. Как обычно, неоднозначность\n";
echo "&quot;else&quot; разрешается посредством того, что else связывается с последним\n";
echo "встречнным if, не имеющим else.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968178\">9.4 Оператор While</a> </h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:33.0pt;text-autospace:none'>Оператор while имеет вид </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'>while ( выражение ) оператор </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Выполнение подоператора повторяется, пока значение выра­жения остается\n";
echo "ненулевым. Проверка выполняется перед каждым выполнением оператора. Выражение\n";
echo "обрабатывается как в услов­ном операторе (#9.3).</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968179\">9.5 Оператор Do</a> </h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:33.0pt;text-autospace:none'>Оператор do имеет вид </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'>do оператор while ( выражение )\n";
echo "; </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Выполнение подоператора повторяется до тех пор,\n";
echo "пока значение остается не нулем. Проверка выполняется после каждо­го выполнения\n";
echo "оператора. Выражение обрабатывается как в ус­ловном операторе (#9.3).</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968180\">9.6 Оператор For</a> </h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:33.0pt;text-autospace:none'>Оператор for имеет вид </p>\n";
echo "\n";
echo "<p class=MsoNormal align=center style='margin-top:0cm;margin-right:10.55pt;\n";
echo "margin-bottom:13.3pt;margin-left:0cm;text-align:center;text-autospace:none'>for\n";
echo "(оператор_1 выражение_1 opt; выражение_2 opt) оператор_2</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:33.0pt;text-autospace:none'>Этот оператор эквивалентен\n";
echo "следующему: </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>оператор_1</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>while (\n";
echo "выражение_1 ) (*</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>оператор_2</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>выражение_2 ;</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'>*) </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>за исключением того, что continue в операторе_2\n";
echo "будет выполнять выражение_2 перед выполнением выражения_1. Первый оператор,\n";
echo "таким образом, задает инициализацию цикла; первое выражение задает выполняемую\n";
echo "перед каждой итерацией проверку, по которой производится выход из цикла, если\n";
echo "выражение стано­вится нулем; второе выражение часто задает приращение, выпол­няемое\n";
echo "после каждой итерации.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Каждое или оба выражения могут быть опущены. Отсутствие выражения_1\n";
echo "делает подразумеваемое while-предложение эквива­лентым while(1). Заметьте, что\n";
echo "если оператор_2 является опи­санием, то область видимости описанного имени\n";
echo "распространяеи­ся до конца блока, охватывающего оператор for.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968181\">9.7 Оператор Switch</a> </h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Оператор switch вызывает передачу управления на один из нескольких\n";
echo "операторов в зависимости от значения выражения. Он имеет вид</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'>switch ( выражение ) оператор </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Выражение должно быть арифметичского или указательного типа. Любой\n";
echo "оператор внутри оператора может быть помечен од­ной или более меток case\n";
echo "следующим образом:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'>case константное_выражение : </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>где константное выражение должно иметь тот же тип что и\n";
echo "выражение-переключатель; производятся обычные арифметические преобразования. В\n";
echo "одном операторе switch никакие две констан­ты, помеченные case, не могут иметь\n";
echo "одинаковое значение. Константные выражения определяются в #12.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:33.0pt;text-autospace:none'>Также может быть не более чем\n";
echo "одна метка вида </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>default :</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Когда выполнен оператор switch, проведено\n";
echo "вычисление его выражения и сравнение его с каждой case константой. Если одна из\n";
echo "констант равна значению выражения, то управление передает­ся на выражение,\n";
echo "следующее за подошедшей меткой case. Если никакая case константа не\n";
echo "соответствует выражению, и есть метка default, то управление передается на\n";
echo "выражение, которо­му она предшествует. Если нет соответсвующих вариантов case и\n";
echo "default отсутствует, то никакой из операторов в операторе switch не\n";
echo "выполняется.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Метки case и default сами по себе не изменяют поток уп­равления,\n";
echo "который после задерки идет дальше, перескакивая че­рез эти метки. Для выхода из\n";
echo "switch см. break, #9.8.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Обычно зависящий от switch оператор является составным. В голове этого\n";
echo "оператора могут стоять описания, но инициали­зации автоматических и регистровых\n";
echo "переменных являются безре­зультатными.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968182\">9.8 Оператор Break</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:33.0pt;text-autospace:none'>Оператор </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>break ;</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-indent:33.0pt;text-autospace:none'>вызывает\n";
echo "завершение выполнения наименьшего охватывающего оператора while, do, for или\n";
echo "switch; управление передается на оператор, следующий за завершенным.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968183\">9.9 Оператор Continue</a> </h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:33.0pt;text-autospace:none'>Оператор </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'>continue ; </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-indent:33.0pt;text-autospace:none'>вызывает\n";
echo "передачу управления на управляющую продолжением цикла часть наименьшего\n";
echo "охватывающего оператора while, do или for; то есть на конец петли цикла.\n";
echo "Точнее, в каждом из опера­торов</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>while (...) (* do (* for (...) (*</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:26.4pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>... ... ...</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>contin: ; contin: ; contin: ;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>*) *) while\n";
echo "(...); *) </span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-indent:33.0pt;text-autospace:none'><span\n";
echo "lang=EN-US>continue </span>эквивалентно<span lang=EN-US> goto contin. </span>(За\n";
echo "contin: идет пус­той оператор, #9.13.)</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968184\">9.10 Оператор Return</a> </h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-indent:33.0pt;text-autospace:\n";
echo "none'>Возврат из функции в вызывающеую программу осуществляет­ся с помощью\n";
echo "оператора return, имеющего один из двух видов:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>return ;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>return </span>выражение<span\n";
echo "lang=EN-US> ; </span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Первый может использоваться только в функциях, не возвращающих значения,\n";
echo "т.е. в функциях с типом возвращаемого значения void. Вторая форма может\n";
echo "использоваться только в функциях, возвращающих значение; значение выражения\n";
echo "возвраща­ется тому, кто вызывал функцию. Если необходимо, то выражение\n";
echo "преобразуется, как это делается при инициализации, к типу функции, в которой\n";
echo "оно появилось. Обход конца функции эквива­лентен возврату return без\n";
echo "возвращаемого значения.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968185\">9.11 Оператор Goto</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Можно осуществлять безусловную передачу упраления с\n";
echo "по­мощью оператора</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:19.8pt;text-autospace:none'>goto идентификатор ; </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Идентификатор должен быть меткой (#9.12),\n";
echo "расположенной в текущей функции. Невозможно передать управление в обход\n";
echo "описания с инициализатором (явным или неявным) никак, кроме передачи управления\n";
echo "в обход внутреннего блока без захода в него.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968186\">9.12 Помеченные Операторы</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:33.0pt;text-autospace:none'>Перед любым оператором может\n";
echo "стоять метка, имеющий вид </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'>идентификатор : </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>которая служит для описания идентификатора как метки. Метка используется\n";
echo "только как объект перехода для goto. Об­ластью видимости метки является текущая\n";
echo "функция, исключая лю­бой подблок, в котором был переописан этот же\n";
echo "идентификатор. См. #4.1.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968187\">9.13 Пустой Оператор</a> </h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:33.0pt;text-autospace:none'>Пустой оператор имеет вид </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'>; </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Пустой оператор используется для помещения метки\n";
echo "непос­редственно перед *) составного оператора или того, чтобы</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:0cm;text-autospace:none'>снабдить такие операторы, как\n";
echo "while, пустым телом. </p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968188\">9.14 Оператор Описание</a> </h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-indent:33.0pt;text-autospace:none'>Оператор\n";
echo "описание используется для введения нового иден­тификатора в блоке; он имеет вид</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:227.0pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-indent:-26.4pt;text-autospace:none'>Оператор_описание:\n";
echo "описание</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Если введенный описанием идентификатор был описан ранее во\n";
echo "внешнем блоке, внешнее описание становится скрытым на про­тяжении блока, после\n";
echo "чего оно вновь всупает в силу.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Каждая инициализация auto и register переменных произво­дится\n";
echo "каждый раз, когда выполняется их оператор_описание. Можно передавать управление\n";
echo "в блок, но не таким путем, кото­рый приводит к невыполнению инициализаций, см.\n";
echo "#9.11. Инициа­лизации переменных класса памяти static (#4.4) производятся\n";
echo "только один раз, когда программа начинает выполняться.</p>\n";
echo "\n";
echo "<h2><a name=\"_Toc219968189\">10. Определения Функций</a></h2>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Программа состоит из последовательности описаний. Код (текст программы)\n";
echo "функции может быть задан только вне всех блоков и внутри описаний классов.\n";
echo "Определения функций имеют вид</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>определение_функции:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-indent:26.4pt;text-autospace:none'>спецификаторы_описания\n";
echo "opt описатель_функции инициализатор_базового opt тело_функции</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Спецификаторы_описания register, auto, typedef не могут использоваться\n";
echo "внутри описания класса (#8.5), а friend и virtual могут использоваться только\n";
echo "там. Описатель функции - это описатель &quot;функции, возвращающей ...&quot;\n";
echo "(#8.4).Формальные параметры находятся в области видимости самого внешнего блока\n";
echo "тела_функции. Описатели функции имеют вид</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>описатель_функции:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>описатель (\n";
echo "список_описаний_параметров ) </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Если параметр специфицирован как register, то соответс­твующий\n";
echo "фактический параметр будет по возможности копировать­ся в регистр на входе в\n";
echo "функцию. Если для параметра специфи­цировано константное выражение в качестве\n";
echo "инициализатора, то это значение используется как значение параметра по умолча­нию.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'>Тело функции имеет вид </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>тело_функции:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>составной_оператор </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'>Вот простой пример полного\n";
echo "определения функции: </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int max(int a, int b, int c)</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>(*</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int m = (a &lt; b) ? a : b;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>return (m &gt; c) ? m : c;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>*)</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:33.0pt;margin-bottom:.0001pt;text-autospace:none'>Здесь<span\n";
echo "lang=EN-US> int - </span>это спецификатор<span lang=EN-US>_</span>типа<span\n";
echo "lang=EN-US>; max(int a, int b, int</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:0cm;text-autospace:none'>c) - это описатель_функции; (* ...\n";
echo "*) - это тело_функции. </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Поскольку в контексте выражения имя моссива (в\n";
echo "особен­ности, как фактического параметра) принимается как означающее указатель\n";
echo "на первый элемент массива, описания формальных па­раметров, которые описаны как\n";
echo "&quot;массив из ...&quot;, корректируются так, чтобы читались как\n";
echo "&quot;указатель на ...&quot;.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>В определении конструктора могут быть заданы инициализа­торы для базового\n";
echo "класса и для членов. Это главным образом полезно для объектов класса, констант\n";
echo "и ссылок, где семантика инициализации и присваивания различаются.\n";
echo "Инициализатор_базо­вого имеет вид</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>инициализатор_базового:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>: список_инициализаторов_членов </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>список_инициализаторов_членов:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>инициализатор_члена</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>инициализатор_члена ,\n";
echo "список_инициализаторов_членов </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>инициализатор_члена:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>идентификатор opt (\n";
echo "список_параметров opt )</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Если в инициализаторе_члена дан идентификатор, то\n";
echo "список параметров используется для инициализации названного члена; если нет, то\n";
echo "список параметров используется для базового класса. Например<span lang=EN-US>:</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>struct base (*\n";
echo "base(int); ... *);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>struct derived : base (*</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>derived(int);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>base b;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>const c;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>*); </span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>derived::derived(int a) : (a+1), b(a+2), c(a+3)</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'>(* /* ... */ *) </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'>derived d(10); </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Сначала конструктор базового класса вызывается для\n";
echo "объ­екта d с параметром 11, затем вызывается конструктор для чле­на b с\n";
echo "параметром 12 и конструктор для члена c с параметром</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-autospace:\n";
echo "none'>13. Затем выполняется тело derived::derived() (см. #8.5.5). Порядок, в\n";
echo "котором вызываются конструкторы для членов, не ус­тановлен. Если базовый класс\n";
echo "имеет конструктор, который можно вызывать без параметров, не надо давать\n";
echo "никакой список пара­метров. Если класс члена имеет конструктор, который можно\n";
echo "вы­зывать без параметров, для этого члена не надо давать никакой список\n";
echo "параметров.</p>\n";
echo "\n";
echo "<h2><a name=\"_Toc219968190\">11. Командные Строки Компилятора</a></h2>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Компилятор содержит препроцессор, способный\n";
echo "выполнять макроподстановки, условную компиляцию и включение именованных файлов.\n";
echo "Строки, начинающиеся с #, относятся к препроцессору. Эти строки имеют\n";
echo "независимый от остального языка синтаксис; они могут появляться в любом месте и\n";
echo "оказывать влияние, кото­рое распространяется (независимо от области видимости)\n";
echo "до конца файла исходной программы.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-indent:33.0pt;text-autospace:\n";
echo "none'>Учтите, что определения const и inline дают альтернативы для большинства\n";
echo "использований #define.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968191\">11.1 Замена Лексем</a> </h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:33.0pt;text-autospace:none'>Командная строка компилятора\n";
echo "вида </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>#define\n";
echo "идентификатор строка_лексем</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>вызывает замену препроцессором последующих вхождений идентификатора,\n";
echo "заданного строкой символов. Точка с запятой внутри (или в конце) строки\n";
echo "символов является частью этой строки.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'>Строка вида </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>#define\n";
echo "идентификатор( идентификатор , ... , идентификатор)</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>строка_лексем</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>где нет пробела между первым идентификатором и (, явля­ется макроопределением\n";
echo "с параметрами. Последующие вхождения первого идентификатора с идущими за ним (,\n";
echo "последователь­ностью символов, разграниченной запятыми, и ), заменяются строкой\n";
echo "символов, заданной в определении. Каждое местоположе­ние идентификатора,\n";
echo "замеченного в списке параметров определе­ния, заменяется соответствующей\n";
echo "строкой из вызова. Фактичес­кими параметрами вызова являются строки символов,\n";
echo "разделенные запятыми; однако запятые в строке, заключенной в кавычки, или в\n";
echo "круглых скобках не являются разделителями параметров. Число формальных и\n";
echo "фактических параметров должно совпадать. Строки и символьные константы в\n";
echo "символьной строке сканируются в по­исках формальных параметров, но строки и\n";
echo "символьные константы в остальной программе не сканируются в поисках определенных\n";
echo "(с помощью define) идентификаторов.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>В обоих случаях строка замещения еще раз сканируется в поисках других\n";
echo "определнных идентификаторов. В обоих случаях длинное определение может быть\n";
echo "продолжено на другой строке с помощью записи \ в конце продолжаемой строки.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'>Командная строка вида </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'>#undef идентификатор </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-indent:33.0pt;text-autospace:none'>влечет отмену\n";
echo "препроцессорного определения идентификато­ра.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968192\">11.2 Включение Файлов</a> </h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:33.0pt;text-autospace:none'>Командная строка компилятора\n";
echo "вида </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>#include &quot;</span>имя<span\n";
echo "lang=EN-US>_</span>файла<span lang=EN-US>&quot;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>вызывает замену этой строки полным содержимым файла имя_ файла. Сначала\n";
echo "именованный файл ищется в директории первона­чального исходного файла, а затем\n";
echo "в стандартных или заданных местах. Альтернативный вариант, командная строка\n";
echo "вида</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:19.8pt;text-autospace:none'><span lang=EN-US>#include &lt;</span>имя<span\n";
echo "lang=EN-US>_</span>файла<span lang=EN-US>&gt; </span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>производит поиск только в стандартном или заданном\n";
echo "мес­те, и не ищет в директории исходного файла. (То, как эти мес­та задаются,\n";
echo "не является частью языка.)</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:33.0pt;text-autospace:none'>Включения с помощью #include\n";
echo "могут быть вложенными. </p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968193\">11.3 Условная Компиляция</a> </h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:33.0pt;text-autospace:none'>Командная строка компилятора\n";
echo "вида</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'>#if выражение </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>проверяет, является ли результатом вычисления\n";
echo "выражения не-ноль. Выражение должно быть константным выражением, кото­рые\n";
echo "обсуждаются в #12. Кроме обычных операций С++ может ис­пользоваться унарная\n";
echo "операция defined. При применении к иден­тификатору она дает значение не-ноль,\n";
echo "если этот идентификатор был ранее определен с помощью #define и после этого не\n";
echo "было отмены определения с помощью #undef; иначе ее значение 0.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:33.0pt;text-autospace:none'>Командная строка вида</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'>#ifdef идентификатор </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>проверяет, определен ли идентификатор в препроцессоре в данный момент; то\n";
echo "есть, был ли он объектом командной строки # define. Командная строка вида</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'>#ifndef идентификатор </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>проверяет, является ли идентификатор неопределенным в препроцессоре в\n";
echo "данный момент.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>После каждого из трех видов может стоять произвольное количество строк,\n";
echo "возможно, содержащих командную строку</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'>#else </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:33.0pt;text-autospace:none'>и далее до командной строки </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'>#endif </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Если проверенное условие истинно, то все строки\n";
echo "между #else и #endif игнорируются. Если проверенное условие ложно, то все\n";
echo "строки между проверкой и #else или, в случае отсутс­твия #else, #endif,\n";
echo "игнорируются.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:33.0pt;text-autospace:none'>Эти конструкции могут быть\n";
echo "вложенными. </p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968194\">11.4 Управление Строкой</a> </h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-indent:33.0pt;text-autospace:none'>Для помощи\n";
echo "другим препроцессорам, генерирующим программы на С++, строка вида</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>#line константа\n";
echo "&quot;имя_файла&quot;</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>заставляет компилятор считать, например, в целях\n";
echo "диаг­ностики ошибок, что константа задает номер следущей строки исходного\n";
echo "файла, и текущий входной файл именуется идентифика­тором. Если идентификатор\n";
echo "отсутствует, то запомненное имя файла не изменяется.</p>\n";
echo "\n";
echo "<h2><a name=\"_Toc219968195\">12. Константные Выражения</a></h2>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>В нескольких местах С++ требует выражения, вычисление которых дает\n";
echo "константу: в качестве границ массива (#8.4), в case выражениях (#9.7), в\n";
echo "качестве значений параметров функ­ции по умолчанию (#8.3), и в инициализаторах\n";
echo "(#8.6). В первом случае выражение может включать только целые константы, сим­вольные\n";
echo "константы, константы перечислений, значения несостав­ных const,\n";
echo "инициализированных константными выражениями, и sizeof выражения, возможно,\n";
echo "связанные бинарными операциями</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>+ - * / %\n";
echo "&amp; ! ^ &lt;&lt;</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>&gt;&gt; == != &lt; &gt; &lt;=\n";
echo "&gt;= &amp;&amp; !!</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:0cm;text-autospace:none'>или унарными операциями </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>+ - ~ !</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:0cm;text-autospace:none'>или тернарной операцией </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'>?: </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-indent:33.0pt;text-autospace:none'>Скобки могут\n";
echo "использоваться для группирования, но не для вызова функций.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Во всех остальных случаях константное выражение может\n";
echo "также содержать унарную операцию &amp;, примененную к внешним или статическим\n";
echo "объектам, или к внешним или статическим массивам, индексированным константным\n";
echo "выражением. Унарная операция &amp; может также быть применена неявно с помощью\n";
echo "употребления не­индексированных массивов и функций. Основное правило состоит в\n";
echo "том, что инициализаторы должны при вычислении давать конс­танту или адрес ранее\n";
echo "описанного внешнего или статического обйекта плюс или минус константа.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Меньшая широта допустима для константных выражений после\n";
echo "#if: недопустимы имена, описанные const, sizeof выражения и перечислимые\n";
echo "константы.</p>\n";
echo "\n";
echo "<h2><a name=\"_Toc219968196\">13. Соображения Мобильности</a></h2>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Определенные части С++ являются машинно зависимыми по своей сути.\n";
echo "Следующий ниже список мест возможных затруднений не претендует на полноту, но\n";
echo "может указать на основные из них.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Как показала практика, характеристики аппаратуры в чис­том виде, такие,\n";
echo "как размер слова, свойства плавающей арифме­тики и целого деления, не создают\n";
echo "особых проблем. Другие ап­паратные аспекты отражаются на различных программных\n";
echo "разработках. Некоторые из них, особенно знаковое расширение (преобразование\n";
echo "отрицательного символа в отрицательное целое) и порядок расположения байтов в\n";
echo "слове, являются досадными по­мехами, за которыми надо тщательно следить.\n";
echo "Большинство ос­тальных являются всего лишь мелкими сложностями.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Число регистровых переменных, которые фактически могут быть помещены в\n";
echo "регистры, различается от машины к машине, как и множество дейсвующих типов. Тем\n";
echo "не менее, все компиляторы на &quot;своей&quot; машине все делают правильно;\n";
echo "избыточные или не­действующие описания register игнорируются.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>В языке неопределен порядок вычисления параметров функ­ции. На некоторых\n";
echo "машинах он слева направо, а на остальных справа налево. Порядок появления\n";
echo "побочных эффектов также не­детерминирован.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Поскольку символьные константы в действительности явля­ются\n";
echo "объектами типа int, то могут быть допустимы многосим­вольные константы. Однако\n";
echo "конкретная реализация очень сильно зависит от машины, поскольку порядок, в\n";
echo "котором символы прис­ваиваются слову, различается от машины к машине.</p>\n";
echo "\n";
echo "<h2><a name=\"_Toc219968197\">14. Краткое Изложение Синтаксиса</a></h2>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-indent:33.0pt;text-autospace:none'>Эта краткая\n";
echo "сводка синтаксиса С++ предназначается, чтобы способствовать пониманию.  Она не\n";
echo "является точной формулиров­кой языка.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968198\">14.1 Выражения</a> </h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>выражение:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>терм</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>выражение\n";
echo "бинарная_операция выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>выражение ?\n";
echo "выражение : выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>список_выражений </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>список_выражений:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>список_выражений , выражение </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>терм:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>первичное_выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>унарная_операция\n";
echo "терм</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>терм ++</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>терм --</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>sizeof\n";
echo "выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>sizeof (\n";
echo "имя_типа )</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>( имя_типа)\n";
echo "выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>простое_имя_типа\n";
echo "( список_выражений )</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>new имя_типа\n";
echo "инициализатор opt</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>new (\n";
echo "имя_типа )</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>delete\n";
echo "выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>delete [ выражение ] выражение </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>первичное_выражение:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>id</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>::\n";
echo "идентификатор</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>константа</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>строка</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>this</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>( выражение )</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>первичное_выражение[\n";
echo "выражение ]</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>первичное_выражение\n";
echo "( список_выражений opt )</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>первичное_выражение.id</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>первичное_выражение-&gt;id </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>id:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>идентификатор</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>typedef-имя\n";
echo ":: идентификатор</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>typedef-имя ::\n";
echo "имя_функции_операции </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>операция:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>унарная_операция</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>бинарная_операция</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>специальная_операция</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>операция_свободной_памяти </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "66.5pt;margin-left:0cm;text-indent:33.0pt;text-autospace:none'>Бинарные\n";
echo "операции имеют приоритет, убывающий в указанном порядке: </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>бинарная_операция:\n";
echo "одна из</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>* / %</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>+ -</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>&lt;&lt;\n";
echo "&gt;&gt;</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>&lt; &gt;</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>== !=</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>&amp;</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>^</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>!</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>&amp;&amp;</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>!!</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>операция_присваивания </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>операция_присваивания:\n";
echo "одна из</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>= += -= *= /= %= ^= &amp;= !=\n";
echo "&gt;&gt;= &lt;&lt;= </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:19.8pt;margin-bottom:.0001pt;text-autospace:none'>унарная_операция:\n";
echo "одна из</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:46.2pt;text-autospace:none'>* &amp; + - ~ ! ++ -- </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>специальная_операция:\n";
echo "одна из</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>() []</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>операция_свободной_памяти:\n";
echo "одна из</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'><span lang=EN-US>new delete </span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>имя<span\n";
echo "lang=EN-US>_</span>типа<span lang=EN-US>:</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>спецификаторы_описания\n";
echo "абстрактный_описатель </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>абстрактный_описатель:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>пустой</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>*\n";
echo "абстрактный_описатель</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>абстрактный_описатель\n";
echo "( список_описаний_параметров )</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>абстрактный_описатель [\n";
echo "константное_выражение opt ] </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>простое_имя_типа:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>typedef-</span>имя</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>char</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>short</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>long</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>unsigned</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>float</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>double</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "53.2pt;margin-left:39.6pt;text-autospace:none'><span lang=EN-US>void </span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>typedef-</span>имя<span lang=EN-US>:</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>идентификатор </p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968199\">14.2 Описания</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>описание:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>спецификаторы_описания\n";
echo "opt список_описателей opt ;</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>описание_имени</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>asm-описание </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>описание_имени:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>сост\n";
echo "идентификатор ;</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>enum идентификатор ; </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>сост:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>class</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>struct</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'><span lang=EN-US>union </span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>asm-</span>описание<span lang=EN-US>:</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>asm ( строка ) ; </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>спецификаторы_описания:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>спецификатор_описания\n";
echo "спецификаторы_описания opt </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>спецификатор_описания:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>спецификатор_класса_памяти</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>спецификатор_типа</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>спецификатор_функции</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>typedef</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>friend</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>спецификатор_типа:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>простое_имя_типа</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>спецификатор_класса</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>спецификатор_enum</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>усложненный_спецификатор_типа</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>const </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>спецификатор_класса_памяти:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>auto</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>extern</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>register</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'><span lang=EN-US>static </span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>спецификатор_функции:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>inline</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>overload</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>virtual </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>усложненный_спецификатор_типа:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>ключ\n";
echo "typedef-имя</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>ключ идентификатор </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>ключ<span\n";
echo "lang=EN-US>:</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>class</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>struct</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>union</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>enum </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>список_описателей:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>иниц-описатель</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>иниц-описатель ,\n";
echo "список_описателей </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>иниц-описатель:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>описатель инициализатор opt </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>описатель:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>оп_имя</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>( описатель         )</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>* const opt            описатель</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>&amp; const\n";
echo "opt           описатель</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>описатель (         список_описаний_параметров\n";
echo ")</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>описатель [         константное_выражение\n";
echo "opt ] </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>оп_имя:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>простое_оп_имя</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>typedef-имя :: простое_оп_имя</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>простое_оп_имя:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>идентификатор</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>typedef-имя</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>~ typedef-имя</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>имя_функции_операции</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>имя_функции_преобразования </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>имя_функции_операции:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>operator операция</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>имя_функции_преобразования</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>operator тип </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>список_описаний_параметров:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>список_описаний_прм opt ... opt</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>список_описаний_прм:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>список_описаний_прм\n";
echo ", описание_параметра</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>описание_параметра </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>описание_параметра:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:33.0pt;margin-bottom:.0001pt;text-autospace:none'>спецификаторы_описания\n";
echo "описатель = выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:33.0pt;margin-bottom:.0001pt;text-autospace:none'>спецификаторы_описания\n";
echo "описатель = константное_выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:33.0pt;margin-bottom:.0001pt;text-autospace:none'>спецификаторы_описания\n";
echo "абстракт_описатель = выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:33.0pt;text-autospace:none'>спецификаторы_описания\n";
echo "абстракт_описатель = выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>спецификатор_класса:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>заголовок_класса\n";
echo "(* список_членов opt *)</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>заголовок_класса\n";
echo "(* список_членов opt public :</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:165.0pt;text-autospace:none'>список_членов opt *)</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>заголовок_класса:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>сост идентификатор\n";
echo "opt</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>сост идентификатор opt : public\n";
echo "opt typedef-имя </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>список_членов:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>описание_члена список_членов opt</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>описание_члена:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>спецификаторы_описания\n";
echo "opt описатель_члена</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:79.2pt;margin-bottom:.0001pt;text-autospace:none'>инициализатор\n";
echo "opt ;</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>определение_функции opt </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>описатель_члена:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>описатель</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>идентификатор opt :\n";
echo "константное_выражение </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>инициализатор:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>= выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>= (*\n";
echo "список_инициализаторов *)</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>= (*\n";
echo "список_инициализаторов , *)</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>( список_выражений ) </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>список_инициализаторов:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>список_инициализаторов\n";
echo ", список_инициализаторов</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>(* список_инициализаторов *) </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>спецификатор_enum:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>enum идентификатор opt (*\n";
echo "enum-список *) </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>enum-список:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>перечислитель</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>enum-список , перечислитель </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>перечислитель:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>идентификатор</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>идентификатор =\n";
echo "константное_выражение </p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968200\">14.3 Операторы</a> </h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>составной_оператор:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>(* список_операторов opt *) </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>список_операторов:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>оператор</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>оператор список_операторов </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>оператор:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>описание</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>составной_оператор</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>выражение opt\n";
echo ";</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>if (\n";
echo "выражение ) оператор</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>if (\n";
echo "выражение ) оператор else оператор</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>while (\n";
echo "выражение ) оператор</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>do оператор\n";
echo "while ( выражение ) ;</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>for (\n";
echo "оператор выражение opt ; выражение opt ) оператор</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>switch (\n";
echo "выражение ) оператор</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>case\n";
echo "константное_выражение : оператор</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>default : </span>оператор</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>break ;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>continue ;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>return\n";
echo "выражение opt ;</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>goto\n";
echo "идентификатор ;</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>идентификатор : оператор </p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968201\">14.4 Внешние определения</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>программа:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>внешнее_определение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>внешнее_определение программа </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>внешнее_определение:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>определение_функции</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>описание </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>определение_функции:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-indent:26.4pt;text-autospace:\n";
echo "none'>спецификаторы_описания opt описатель_функции инициализатор_базового opt\n";
echo "тело_функции</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>описатель_функции:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>описатель (\n";
echo "список_описаний_параметров ) </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>тело_функции:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>составной_оператор </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>инициализатор_базового:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:39.6pt;text-autospace:none'>: (\n";
echo "список_инициализаторов_членов opt )</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968202\">14.5 Препроцессор</a> </h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'>#define идентификатор\n";
echo "строка_лексем </p>\n";
echo "\n";
echo "<p class=MsoNormal align=center style='margin-right:10.55pt;text-align:center;\n";
echo "text-autospace:none'>#define идентификатор( идентификатор,...,идентификатор )</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:72.6pt;margin-bottom:.0001pt;text-autospace:none'>строка лексем</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>#else</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>#endif</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>#if выражение</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>#ifdef\n";
echo "идентификатор</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>#ifndef\n";
echo "идентификатор</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>#include &quot;</span>имя<span lang=EN-US>_</span>файла<span\n";
echo "lang=EN-US>&quot;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>#include &lt;</span>имя<span lang=EN-US>_</span>файла<span\n";
echo "lang=EN-US>&gt;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>#line\n";
echo "константа &quot;имя_файла&quot;</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:13.2pt;text-autospace:none'>#undef идентификатор</p>\n";
echo "\n";
echo "<h2><a name=\"_Toc219968203\">15. Отличия от C</a></h2>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968204\">15.1 Расширения</a></h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-indent:33.0pt;text-autospace:\n";
echo "none'>Типы параметров функции могут быть заданы (#8.4) и будут проверяться\n";
echo "(#7.1). Могут выполняться преобразования типов (#</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:0cm;text-autospace:none'>7.1). </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-indent:33.0pt;text-autospace:none'>Для выражений с\n";
echo "числами с плавающей точкой может исполь­зоваться плавающая арифметика одинарной\n";
echo "точности; #6.2.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:33.0pt;text-autospace:none'>Имена функций могут быть\n";
echo "перегружены; #8.9. </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:33.0pt;text-autospace:none'>Операции могут быть перегружены;\n";
echo "7.16, #8.5.11.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:33.0pt;text-autospace:none'>Функции могут быть\n";
echo "inline-подставляемыми; #8.1. </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:33.0pt;text-autospace:none'>Объекты данных могут быть\n";
echo "константными (const); #8.3.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:33.0pt;text-autospace:none'>Могут быть описаны объекты\n";
echo "ссылочного типа; #8.4, #8.6.3 </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Операции new и delete обеспечивают свободное хранение в памяти, #7.2.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Классы могут обеспечивать сокрытие данных (#8.5.9), га­рантированную\n";
echo "инициализацию (#8.6.2), определяемые пользова­телем преобразвания (#8.5.6), и\n";
echo "динамическое типизирование через использование виртуальных функций (#8.5.4).</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:33.0pt;text-autospace:none'>Имя класса или перечисления\n";
echo "является именем типа;  #8.5. </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Любой указатель может присваиваться void* без применеия приведения к\n";
echo "типу; #7.14.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:33.0pt;text-autospace:none'>Описание внутри блока является\n";
echo "оператором; #9.14. </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:33.0pt;text-autospace:none'>Можно описывать безымянные\n";
echo "объединения; #8.5.13.</p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968205\">15.2 Сводка Несовместимостей</a> </h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Большинство конструкций C допустимы в С++ без изменения их смысла.\n";
echo "Исключения из этого следующие:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:33.0pt;text-autospace:none'>Программы, использующие одно из\n";
echo "новых ключевых слов</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>class const delete friend inline</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>new operator overload public signed</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'>this virtual volatile </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:33.0pt;text-autospace:none'>как идентификаторы, недопустимы.\n";
echo "</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Описание функции f(); означает, что f не получает\n";
echo "пара­метров, в C же это значит, что f может получать параметр со­вершенно\n";
echo "любого типа.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-indent:33.0pt;text-autospace:none'>В C внешнее имя\n";
echo "может определяться несколько раз, а в С+ + оно должно быть определено ровно\n";
echo "один раз.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-indent:33.0pt;text-autospace:\n";
echo "none'>Имена классов в С++ находятся в том же пространстве, что и прочие имена,\n";
echo "поэтому конструкции вроде</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>int s;</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>struct s (* /* ... </span>*/ *);</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'>f() (* s = 1; *) </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>использоваться не могут. Однако, для разрешения боль­шинства конфликтов\n";
echo "может применяться явное использование class, struct, union, enum (#8.2) или ::\n";
echo "(#7.1). Например:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>int s;</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>struct s (* /* ... */ *);</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'><span\n";
echo "lang=EN-US>void f() (*int s; struct s a; *)</span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>void g() (* ::s\n";
echo "= 1; *) </span></p>\n";
echo "\n";
echo "<h3><a name=\"_Toc219968206\">15.3 Анахронизмы</a> </h3>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Изложенные здесь расширения могут предоставляться для того, чтобы\n";
echo "упростить использование C программ как С++ прог­рамм. Обратите внимание, что\n";
echo "каждая из этих возможностей со­держит нежелательные аспекты. Предоставляющая их\n";
echo "реализация должна также обеспечивать пользователю способ удостовериться, что\n";
echo "они не встречаются в исходном файле.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Прежнее неопределенное имя может использоваться как имя функции в вызове.\n";
echo "В этом случае имя будет неявно описано как функция, возвращающая int с типом\n";
echo "параметра (...).</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Ключевое слово void может использоваться для указания того, что функция\n";
echo "не получает параметров, так что (void) эк­вивалентно ().</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "13.3pt;margin-left:0cm;text-align:justify;text-indent:33.0pt;text-autospace:\n";
echo "none'>Могут использоваться программы, в которых используется синтаксис\n";
echo "определения функций в C</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>старое_определение_функции:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-indent:26.4pt;text-autospace:\n";
echo "none'>спецификаторы_описания opt старый_описатель_функции список_описателей\n";
echo "тело_функции</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>старый_описатель_функции:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>описатель (* список_параметров\n";
echo "*) </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:13.2pt;margin-bottom:.0001pt;text-autospace:none'>список_параметров:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:39.6pt;margin-bottom:.0001pt;text-autospace:none'>идентификатор</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:39.6pt;text-autospace:none'>идентификатор , идентификатор </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:0cm;text-autospace:none'>например<span lang=EN-US>, </span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:0cm;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'><span lang=EN-US>max(a,b) (*\n";
echo "return (a&lt;b) ? b : a; *) </span></p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Если функция, описанная как эта, была ранее\n";
echo "описана, тип ее параметра будет принят (...), то есть, непроверенный. Если она\n";
echo "была описана, ее тип должен согласоваться с типом описа­ния.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:33.0pt;\n";
echo "text-autospace:none'>Вместо :: может использоваться точка для спецификации\n";
echo "имени в определении функции члена. Например:</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-top:13.3pt;margin-right:10.55pt;margin-bottom:\n";
echo "26.6pt;margin-left:13.2pt;text-autospace:none'>int cl.fct() (* /* ... */ *) </p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-align:justify;text-indent:\n";
echo "33.0pt;text-autospace:none'>Одно и то же имя может быть описано одновременно и\n";
echo "для класса или перечисления, и для объекта данных или функции в одной и той же\n";
echo "области видимости.</p>\n";
echo "\n";
echo "<p class=MsoNormal style='margin-right:10.55pt;text-autospace:none'>_</p>\n";
echo "\n";
echo "<p class=MsoNormal>&nbsp;</p>\n";
echo "\n";
echo "</div>\n";
echo "\n";
echo "</body>\n";
echo "\n";
echo "</html>\n";
?>