����������� ��� ������
����������� ��� ������ (���) � ��� ��� ������, ������� ������������� ��� ������ � ���������� ����� ���� ����������� ����� ������� ��� ��������. ��� ���������� ��������� ������ ���� �������� �� ������������� ��� ������������ ������������ �����������, �� ���� �� �������������� �� ��� ����������� ���������� ��� �������������. � C++ ��� ����������� �������, � ������� ��� �������� ������-������.
���� � ����������� � �������������� ����� �����, �������������� ����������� ��� ������, �.�. �����, ������������ �������� ����� ���������� ������ � ��������� ���������, ���������������� ���������� ������, � �� ����� ���������� � ���������� ��� ����������.
�������� � ���� �++
������������� (��������) ������ ��������� �� “������������ ���������” ��� “������������ ������������” ������, � �����������, ������������ ��� ����� ��� ������� ����� �����, ������� ���� ��������� �� ��� ������. ������ ����� ��� �������������� ������ ���������� ������ ������, ��������� ��������, ������� ���������� ��� ��������.
�������������� ���������� � ������� � Task2
�� ������� ��������� ������������ ���� C++ (� �� C), ���������� ������������ �������� ����� �++ (����-����� cin/cout � �.�.; new � delete, � �� malloc/free).
� ������ ������� �� ����������� ������������ ���������� �� STL ����� C++. ��������� ����������� �������� ����������� STL ����������� (��������, string � vector) � ��������������� ������� ������� ��������������. ������ (�������������), ������� �� �������� ��������� �������, ������ ���� ��������� ��� �����������, ���� ��� �� ������������ ������ ������������� ���.
��������� ������ ���� ������������ ������� ����� �������:
-
<���>.h � ��������� ���, ��� ���������� �������� � ���������, ��� ������������� ������ ������ ���,
-
<���>.cpp � ���������� ������������� ������� ������,
- main.cpp � ���������������� ��������� ��� ������������.
��� ������������ � ����� stderr ��������� ���������� ����� ��� ������, ���������� � ���� ����� (��� ������� ��������� ������ ������ ����� ������ ���������� ����� �����). Makefile (��� ������) ������ ��������� ���� clean ��� ������ �� �����, � ����� ���� test, ������� ����������� main.cpp � ��������� ������� �������� ����� ������ � ��������� ��������� (��� ����� ����������� � ������� argv). �� ��������� ��������������� ���� test.
��� ������, ������������ ���, ���������� ����������:
- ����������� �� ���������,
- ����������� ����������� (�������� �����������, ���� ����������),
- �������� ������������ (�������������� ���������� ������ �������� + ��. ���������� ���� ������������ �����������),
- ���������� (����� ������������� �������� ���������� ������ �����������: �� �� ������ �������� � ���� ������ ����������� � ������������ ������ ������� �������� � ��� ����� �������� � ������ ����������),
- ������� ����� ����������, �������������� ����� ���������� ������, �������� � ��������� � ��� ����� ��������� ������������� ������, � ������ � �������� ����� (��������, string_list::error).
���������� ����� ������ ������ ���������, ���� �� ��������������, ����� ������, � ������� ��������� ������.
������� 6. ����
���������� ��������� ������������� ����� (� ���� ������). ��������: “( (1, 2, 3, 4), ((1,‘a’, 2),(2,‘abc’, 3)) )” ������ ���� � ��������� 1, 2, 3 � ����� �������: � �������� “a” �� 1 � 2 � � �������� “abc” �� 2 � 3, ������� 4 �����������. ���������� ��������������� ������ “�������”, “����� (����)”, ������� �� ��������� ��� ������������ ���������������� �� �����, ������������ � ������, � �.�.
������� 6.1 (****) ��������������� ����
������������ ��������:
-
���������� (add � ���� ������� � ������ ������� ����������): �������, �����, ����;
-
�������� (remove � ���� ������� � ������ ������� ����������): �������, �����, ����;
-
����� ������ ���, ��������� �� �������;
-
�������� + (����������� ������, ���������� �������, ���������� ����� �� �� �� ������� ��� ������ � ����� ����� �������� ��� � ����� ������ ���������, ���� �� ��� ��� � �����);
-
�������� � (�����) � �������� �� ����� (�������, �����, ����);
-
�������� delete[] � � �������� �������� ��� �������� �������;
-
�������� ������������ ����� ������� �� ������;
-
���������� �������� << � ����� �����, � ������� ��� ������ ����;
-
����� ������ ������� ���������.
������� 6.2 (*****) ��������������� ���� � �������
�������������� �������:
-
����� ���� ��������� ����� �� ������� � ������� (�� ������� ����� ����� ��������� ����� 1 ���) � ��������� ����� + ��������� ������������� ����;
-
����� ������ � �����;
-
���������� ��������� ������ (������).
������� 6.3 (******) ����������������� ���� � �������, ������������ � ������ �� �����
�������������� �������:
-
����� ����������� ����� �� ������� � ������� � ����������� �� ��������� � ��������� ����� + ��������� ������������� ����;
-
���������� ��������� ������ � ������������ �� ���������;
-
���������/�������� ���������;
-
����� ������ � �����.