Дапаможнік па C++: Розніца паміж версіямі
катэгорыі |
др стыль |
||
Радок 259: | Радок 259: | ||
== Глядзі таксама == |
== Глядзі таксама == |
||
'' Гэтая кніга грунтуецца на артыкулах з [https://be-x-old.wikipedia.org/wiki/%D0%9A%D0%B0%D1%82%D1%8D%D0%B3%D0%BE%D1%80%D1%8B%D1%8F:C%2B%2B беларускае Вікіпэдыі |
'' Гэтая кніга грунтуецца на артыкулах з [https://be-x-old.wikipedia.org/wiki/%D0%9A%D0%B0%D1%82%D1%8D%D0%B3%D0%BE%D1%80%D1%8B%D1%8F:C%2B%2B беларускае Вікіпэдыі]. Любыя дапаўненьні заахвочваюцца.'' |
||
Версія ад 12:55, 4 лістапада 2014
C++ — мова праграмаваньня агульнага прызначэньня. У гэтым дапаможніку адзначым асноўныя рысы дадзенай мовы.
Стандартная бібліятэка C++
Дзеля таго, каб пісаць праграмы на C++, неабходна ведаць сынтаксіс мовы, а таксама ўмець падключаць гатовыя клясы і функцыі, якія выклікаюцца з дапамамогай загалоўкавых файлаў стандартнай бібліятэкі C++.
Стандартная бібліятэка ў C++ (C++ Standard Library — SL) — сукупнасьць клясаў і функцый мовы праграмаваньня C++. Гэтая сукупнасьць адпавядае існым стандартам C++, першы зь якіх быў прыняты ў 1998 годзе (C++98). У 2011 годзе быў распрацаваны стандарт C++11.
Загалоўкавыя файлы стандартнай бібліятэкі C++
У стандартнай бібліятэцы C++ прадугледжаная сыстэма загалоўкавых файлаў, якія неабходна падключаць да коду пры напісаньні праграмы, каб выкарыстоўваць гатовыя клясы і функцыі. Гэта значна эканоміць час стварэньня праекту, бо праграмісту ня трэба самому займацца напісаньнем неабходных элемэнтаў коду. У C++ прадугледжаныя наступныя асноўныя загалоўкавыя файлы SL[1]:
Загаловак SL | Тлумачэньне |
---|---|
<cstdio> | Утрымлівае прататыпы для стандартнага ўводу/вываду дадзеных стандарту C |
<iostream> | Утрымлівае прататыпы для стандартнага ўводу/вываду дадзеных стандарту C++ |
<iomanip> | Утрымлівае прататыпы для функцый маніпулятараў над патокам.Маніпулятары фарматуюць патокі дадзеных |
<cmath> | Утрымлівае прататыпы для матэматычных функцый |
<cstdlib> | Утрымлівае прататыпы для функцый для пераўтварэньня лікаў у тэкст і наадварот, разьмеркаваньня памяці і падключэньня рандамізацыі. |
<ctime> | Утрымлівае прататыпы для функцый маніпуляваньня часам |
<vector>, <list>, <deque>, <queue>, <stack>, <map>, <set>, <bitset> | Утрымлівае клясы разнастайных кантэйнераў |
<cctype> | Утрымлівае прататыпы для функцый, якія тэстуюць даныя (напрыклад, зьяўляецца сымбаль коскай або лікам) |
<cstring> | Утрымлівае прататыпы для функцый апрацоўкі радкоў |
<string> | Утрымлівае вызначэньне кляса string |
<typeinfo> | Утрымлівае клясы, якія вызначаюць тыпы даных у час выкананьня праграмы |
<fstream> | Утрымлівае прататыпы для функцый, якія ажыцьцяўляюць увод дадзеных у файл і іх вывад з файлу |
<sstream> | Утрымлівае прататыпы для функцый, якія ажыцьцяўляюць увод і вывад радкоў у памяці |
<algorithm> | Утрымлівае прататыпы для функцый маніпуляваньня данымі |
- Заўвага. Загалоўкі прыведзеныя для кампілятараў Linux-падобных сістэм.
Функцыі ў C++
Праграміст здольны пісаць свае функцыі дзеля мэтаў праграмы.
Функцыя ў C++ — модуль праграмы C++, у якім закладзены асноўны код і канцэпцыя праграмы. Функцыі могуць быць гатовыя і ўтрымлівацца ў стандартнай бібліятэцы C++, а могуць быць напісаныя самім праграмістам.
Прыклады функцый са стандартнай бібліятэкі C++
- Функцыя "main", у якой утрымліваецца канцэпцыя праграмы і асноўны код (функцый "main" у праграме можа быць некалькі):
#include <stdio.h> // падключэньне стандартнай бібліятэкі
main()
{
// код C++
}
- Функцыя "sqrt" — корань квадратны:
sqrt(x) // корань квадратны з x
- Функцыя "exp" — экспанента :
exp(x) // экспанента ў ступені x
Напісаньне функцый
Прыклад праграмы
Гл. таксама Аператары C++
Вылічэньне выразу: :
#include <stdio.h>
#include "iostream"
#include <conio.h>
float min(float x,float y) // функцыя выбару мінімальнага ліку з "a, b, c"
{
if (x<y) return x; // калі (x<y) -> пакідаем у выразе x
else return y; // калі не -> пакідаем y
}
void main() // асноўная функцыя праграмы
{
float a,b,c; // задаём лікі тыпу з плаваючай коскай
float r;
cout << "Увядзіце тры розныя лікі a,b,c: ";
cin >> "%f%f%f",&a,&b,&c;
r=(min(a,a+b)+min(a,b+c))/(1.0+min(a+b*c,b));
cout << "\nЗначэньне выразу=%.3f",r;
cout << "\nНацісьніце любую клявішу для заканчэньня" << endl;
getch();
return 0;
}
Глядзі таксама
Літаратура
- C++ How to Program (8th Edition). By : Paul Deitel , Harvey Deitel. Pages : 1104. Year : 2011. Publisher : Prentice Hall. ISBN 978-0132662369
Аргумэнты функцыі main()
argc і argv — аргумэнты да галоўнай функцыі «main» у мове праграмаваньня C++.[2]:
Прыклад выкарыстаньня argc і argv
Даволі зручна заносіць інфармацыю ў праграму падчас яе выкананьня. Пры гэтым зьвесткі ў праграму заносяцца праз аргумэнты каманднага радку. У функцыі «main» прадугледжаныя два спэцыяльна ўбудаваныя аргумэнты: «argc» і «argv». Argc утрымлівае колькасьць аргумэнтаў, напісаных у камандным радку (argc — цэлалікавы тып зьвестак «int»). Аргумэнт argv — гэта паказальнік да масіву паказальнікаў сымбальнага тыпу ў камандным радку (argv — сымбальны тып зьвестак «char»). Напрыклад, наступная праграма выводзіць «Hello», а затым праз прабел вашае імя, калі вы ўвялі імя ў праграму:
#include <stdio.h>
#include <stdlib.h>
int main (int argc, char *argv[])
{
if (argc != 2) {
printf("Вы забыліся надрукаваць сваё імя.\n");
exit(1);
}
printf("Hello %s", argv[2]);
return 0;
}
- Тлумачэньне. Пасьля кампіляцыі праграмы неабходна зайсьці ў камандны радок (для Windows-кампілятараў), або тэрмінал (для Linux-кампілятараў), перайсьці ў дырэкторыю, дзе зьмяшчаецца скампіляваная праграма і надрукаваць яе назву (хай праграма называецца «arg.exe»), а затым сваё імя, напрыклад:
arg Erka
Вывад будзе наступным:
Hello Erka
Калі ўвод такі:
arg
То праграма выведзе радок:
Вы забыліся надрукаваць сваё імя
таму што першым аргумэнтам лічыцца назва праграмы, а другім — імя. А па ўмове
if (argc != 2)
колькасьць аргумэнтаў не павінна быць няроўнай двум.[3]
Масівы ў C++
Масівы ў C++ — структуры даных мовы праграмаваньня C++, якія ўтрымліваюць зьвязаныя адзін з адным аднатыпныя элемэнты гэтых даных.
Прымяненьне масіваў
У розных сфэрах народнай гаспадаркі неабходна структураваць і аналізаваць вялікую колькасьць аднатыпных даных. Для аўтаматызацыі і спрашчэньня гэтага працэсу выкарыстоўваюцца масівы. Масівы — адзін з элемэнтаў кіруючых структур у C++.
Аб’яўленьне масіваў
У мове С++ масівы аб’яўляюцца наступным чынам:
int a[100];
Тут «int a[100]» — масіў з сотняй элементаў цэлага тыпу.
Прыклад праграмы: заданьне масіву з пячатных сымбаляў і вывад яго на экран
#include <stdio.h> // падключэньне стандартнай бібліятэкі
#include <iostream>
main() // пачатак цела праграмы
{
char z[ 8 ] = { a, b, c, d, e, f, g, h }; // заданьне сымбальнага масіву з васьмі элементаў
cout << "Масіў з васьмі элементаў:" << "%s", z[8] << endl; // вывад яго на экран
return 0; // вяртаньне да пачатку праграмы
}
Прыклад праграмы: пошук максымальнага элементу вэктару
#include "stdio.h"
#include "iostream"
main()
{
int a[100]; // Заданьне вэктару са 100 элемэнтаў
int max, n; // Заданьне максымальнага элемэнту вэктару і іх колькасці
int i; //
cout << "Увядзіце колькасьць элемэнтаў вектару: \n";
cin << n;
cout << "Увядзіце ў адзін радок альбо слупок элемэнты вектару: \n";
for (i=1; i<=n; i++) // увод элементаў вэктара з дапамогай цыклу for
{
cin >> a[i];
}
max =a[1];
// прысваеньне першаму элемэнту значэньня максымальнага і далейшае параўнаньне з астатнімі элемэнтамі
for (i = 2; i <= n; i++)
{
if (a[i] > max) max = a[i];
}
cout << "Максымальны элемэнт вектару: %i\n",max << endl;
return 0;
}
Літаратура
- C++ How to Program (8th Edition). By : Paul Deitel , Harvey Deitel. Pages : 1104. Year : 2011. Publisher : Prentice Hall. ISBN-13: 978-0132662369
Стандартная бібліятэка шаблёнаў C++
Стандартная бібліятэка шаблёнаў C++ (англ. Standard Template Library — STL) — сукупнасьць магутных кампанентаў мовы праграмаваньня C++, якія ўтрымліваюць шматлікія структуры дадзеных і альгарытмы, якія выкарыстоўваюцца для апрацоўкі дадзеных[4].
Гісторыя стварэньня
Стандартная бібліятэка шаблёнаў C++ была распрацаваная Мэнг Лі ды Аляксандрам Сьцяпанавым у карпарацыі "Х'юлет-Пакард". У аснову распрацоўкі былі закладзеныя агульныя дасьледаваньні Сьцяпанава і Лі ў вобласьці праграмаваньня. Таксама значны ўнёсак у стварэньне STL Дэвіда Мюсэра[5].
Кампанэнты STL
Асноўныя кампанэнты STL — кантэйнэры (англ. containers), ітэратары (iterators) і алгарытмы (algorithms). Вылучаюцца таксама разьмеркавальнікі (allocators), выказьнікі (predicates), параўнальныя функцыі (comparison functions) ды аб'екты функцый (function objects)[6].
Глядзі таксама
Гэтая кніга грунтуецца на артыкулах з беларускае Вікіпэдыі. Любыя дапаўненьні заахвочваюцца.
Крыніцы
[[зноскі}}
- ↑ Deitel, Paul J. C++ : how to program / P.J. Deitel, H.M. Deitel. — 8th ed, 205—207 Includes index. ISBN 978-0-13-266236-9
- ↑ Schildt, Herbert. C++: The Complete Reference, 3th Edition, p. 144; ISBN 0078824761
- ↑ Schildt, Herbert. C++: The Complete Reference, 3th Edition, p. 145; ISBN 0078824761
- ↑ Deitel, Paul J. C++ : how to program / P.J. Deitel, H.M. Deitel. -- 8th ed, p. 851, ISBN 978-0-13-266236-9
- ↑ Deitel, Paul J. C++ : how to program / P.J. Deitel, H.M. Deitel. -- 8th ed, p. 851, ISBN 978-0-13-266236-9
- ↑ Schildt, Herbert. C++: The Complete Reference, 3th Edition, 626-628; ISBN 0078824761