Форум: "Прочее";
Текущий архив: 2006.06.18;
Скачать: [xml.tar.bz2];
Внизtype AString = array [1..maxInput] of string; Найти похожие ветки
← →
DillerXX © (2006-05-21 18:12) [0]А как это на С++? Неужели в этом языке нельзя создать такой тип? Именно тип, а не структуру данных. Чтобы его можно было заюзать при сравнении, присваивании...
← →
сиплюсплюсник (2006-05-21 18:21) [1]Cравнение массивов строк?
Да Вы маньяк, батенька.
Используйте memcmp или strcmp (stdlib.h и даже string.h), перебирая элементы массивов в цикле (как Вам должно быть известно, строки в C++ заканчиваются нулем (если конечно это не библиотечный класс std::string), и на 32 разрядных платформах могут иметь длину около 4 Гб).
← →
begin...end © (2006-05-21 18:31) [2]Если тип string уже определён, то тип-массив можно объявить так:
typedef string AString[maxInput]
Если не ошибаюсь...
← →
сиплюсплюсник (2006-05-21 18:42) [3]begin...end © (21.05.06 18:31) [2]
Да, но не стоит забывать, что при сравнении массивов, как таковых, в C++ происходит сравнение указателей на первый элемент массива.
Так что, для того, чтобы задействовать оператор == класса string, придется прогуляться по элементам массива.
← →
J_f_S (2006-05-21 19:50) [4]typedef std::vector<std::string> CMegaStringSet;
И все :-)
Массив на сколько угодно строк, в каждую из которых хоть "Войну и Мир"
запихать можно. Присваивание работать будет и так. Функцию сравнения можно переопределить самому, правда с точки зрения логики я не понимаю, зачем.
← →
wicked © (2006-05-21 20:06) [5]> J_f_S (21.05.06 19:50) [4]
не забываем про#include <vector>
#include <string>
STL хоть и является формально частью языка, но не есть таковой по сути.... а так все верно........
кроме одного - для vector<> операции сравнения не определены и нужно будет вводить свои классы-компараторы....
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2006.06.18;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c