Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Електронний довідник у С ++

Реферат Електронний довідник у С ++





ору)


namespace MyVeryOwnNameSpace {std :: vector lt; std :: string gt; StringTable;

} My=MyVeryOwnNameSpace;


Простори імен потрібні, Щоб не вінікало колізій между пакетами, что мают однакові імена глобальних змінніх, функцій и тіпів. Спеціальнім випадка є безіменній простір імен

namespace {

...

}


Всі імена, опісані в ньом, Доступні в поточній одиниці трансляції и более ніде, неначебто ми до шкірного Опису приписали static.

Доданий новий тип bool, что має значення true и false. Операції порівняння повертаються тип bool. Вирази в дужках после if, while приводяться до типу bool.

//означає, что вся частина рядка, что залиша, є коментарями.

Додані шаблонів (template). Например, template lt; class T gt; T Min (T x, T у) {return x lt; y? X: y;} візначає функцію Min для будь-якіх тіпів. Шаблони могут задаваті НЕ только Функції, но и тіпі. Например, template lt; class T gt; struct Array {int len; T * val;}; візначає масив значень будь-которого типом, после чего ми Можемо писати Array lt; float gt; x;

Введена стандартна бібліотека шаблонів (STL, англ. lt; # justify gt; struct Time {int hh, mm, ss;}; t1, t2;


Усередіні Структури або класом можна опісуваті Нові тіпі, як через typedef, так и через описание других структур або класів. Для доступу до таких тіпів поза структурою або класу, до імені типу додається имя Структури и две двокрапкі: struct S {typedef int ** T; T x;}; S :: T у;

Переваги мови C ++

а) Швідкодія. ШВИДКІСТЬ роботи програм на С ++: практичніше не поступається програмам на С, хоча програмісті отримавших в свои руки Нові возможности и Нові засоби.

б) Масштабованість. На мові C ++ Розробляють програми для найрізноманітнішіх платформ и систем.

в) Можлівість роботи на низьких Рівні з пам'яттю, адресами, портами. (Що, при необережному вікорістанні, может легко превратиться на недолік.)

г) Можлівість создания узагальненіх алгоритмів lt; # justify gt; Недоліки мови C ++

а) Наявність безлічі можливіть, что порушують принципи тіпобезпекі приводити до того, что в С ++ програми может легко закрастися важковловіма помилка. Замість контролю з боці компілятора розробник вімушені Дотримуватись вельми нетрівіальніх правил кодування. За суті, ЦІ правила обмежують С ++ рамками якоїсь безпечнішої підмові. Більшість проблем тіпобезпекі С ++ успадкована від С, но Важлива роль в цьом пітанні грає и відмова автора мови від Ідеї використовуват Автоматичне управління пам'яттю (например, збірку сміття). Так візітною карткою С ++ стали вразлівості типом «переповнювання буфера».

б) Погана підтримка модульності. Підключення інтерфейсу зовнішнього модуля через препроцесорну вставку заголовного файлу (#include) серйозно уповільнює компіляцію, при підключенні Великої кількості модулів. Для Усунення цього недоліку, много компіляторів реалізують Механізм прекомпіляціі заголовніх файлів (англ. Lt; # justify gt; C ++ успадкувала много проблем мови C:

а) Операція прісвоювання позначається як =, а операція порівняння як ==. Їх легко сплутаті, и така конструкція буде синтаксичними правильною, но приведе до важковломімого багу. Особливо часто це відбувається в операторах if и while, например, програміст может Написати if (i=0) вместо if (i == 0) (Разом з тім, основними маса компіляторів відає в таких випадка попередження.) Избежать ошибку такого типу можна, если писати всі операции порівняння у такому виде: if (0 == i). До того ж много мов (Бейсік, Паскаль) Використовують символ «=» самє в операціях порівняння.

б) Операції прісвоювання (=), інкрементації (++), декрементації (-) та інші повертаються значення. У поєднанні з великою кількістю операцій це дозволяє, альо НЕ зобов язує, програміста створюваті код, что Важко чітається. З Іншого боці, один з основних Принципів мов C и C ++ - дозволяті програмістові писати в будь-якому стилі, а не нав язувати «хороший» стиль. До того ж це іноді дозволяє компілятору створюваті оптімальнішій код.

в) Макрос (#define) є могутнім, но Небезпечна засобими. У мові C ++, На Відміну Від C, необходимость в небезпечних макросах з'являється значний рідше Завдяк шаблонами и вбудованим функціям. Альо в успадкованіх стандартних С-бібліотеках много потенційно небезпечних макросів.

Дехто считает недоліком мови C ++ відсутність системи Збірки сміття. З Іншого боці, в C ++ є достаточно ЗАСОБІВ (класи з конструкторами и деструкторами, Стандартні шаблони, передача параметрів за Ваші відповіді)...


Назад | сторінка 6 з 14 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Порівняння компіляторів мови С + + для важких завдань
  • Реферат на тему: Порівняння компіляторів для важких завдань
  • Реферат на тему: Аналіз програми та підручніків з української мови Щодо Вивчення частин мови ...
  • Реферат на тему: Розвиток мови через моторику
  • Реферат на тему: Пізнання світу через мови