Страница 1 из 1

простой вопрос по STL

Добавлено: 02 мар 2003, 14:53
...
есть 2 вектора:


vector <CString> Targets;
vector<CString> Links;

в первом 4 эл-та:
"1.2.45","1.2.46","1.2.47","1.2.48";

во втором - 3:
"1.2.45","1.2.45","1.2.45";

вопрос - почему includes(Targets.begin(),Targets.end(),
Links.begin(),Links.end())

возвращает мне "false" - ведь все эл-ты из Links присутствуют в Targets??? :x

p.s. ногами не бить...:-)

Что-то Вы недоговариваете, тов. Троеточкин!

Добавлено: 02 мар 2003, 16:11
fooit
Что-то Вы недоговариваете, тов. Троеточкин!
Всё работает как часы, но eсли vector не отсортирован, то includes работать не будет.
The includes algorithm searches for one sequence of values in another sequence of values. includes returns true if every element in the range [first2..last2) is in the sequence [first1..last1). This version of includes assumes that both sequences are sorted using operator<.

Код: Выделить всё

	vector<CString> v1;
	vector<CString> v2;

	v1.push_back("1.2.45");
	v1.push_back("1.2.46");
	v1.push_back("1.2.47");
	v1.push_back("1.2.48");

	v2.push_back("1.2.45");
	v2.push_back("1.2.45");
	v2.push_back("1.2.45");

	bool bIncludes = includes(v1.begin(), v1.end(), v2.begin(), v2.end());

	if (bIncludes)
		printf("Hello, ...!\n");

Re: Что-то Вы недоговариваете, тов. Троеточкин!

Добавлено: 02 мар 2003, 17:29
...
fooit писал(а):но eсли vector не отсортирован, то includes работать не будет.


Дык это понятно...
Ладно... бум копать...;-)

Thx!