Mogens Hansen wrote:
> "Anders Svendsen" <ahs@netman.dk> wrote in message
> news:3C378BD7.476B0CC2@netman.dk...
> > I Bjarne Stroustrup C++ programming language (18.4.2) fremgår det at
> > algoritmer som mismatch og transform tager 2 iteratorer, der marker
> > start og slut, for hver af de to sequencer, der gennemløbes plus en
> > functor.
> >
>
> Hvilken udgave (incl. oplag) sidder du med ?
> I den jeg har her ("The C++ Programming Language, Special Edition", first
> printing, January 2000, 18.4.2, side 516) står det rigtigt i henhold til C++
> Standarden.
> Har du kigget på errata til bogen på Bjarne Stroustrup's hjemmeside
> (
http://www.research.att.com/~bs/) ?
>
Nej, jeg faldt bar lige over det i går aftes og da undrede det mig for der
plejer ikke at være slinger i valsen hos Bjarne. Men han har åbenbart rettet
det til.
>
> Der findes 2 forskellige mismatch ifølge C++ Standarden.
> En med predicate og en uden predicate:
>
Det er jeg klar over, det er den med predicate det handler om.
>
> template<class InputIterator1, class InputIterator2>
> pair<InputIterator1, InputIterator2>
> mismatch(InputIterator1 first1, InputIterator1 last1,
> InputIterator2 first2);
>
> template<class InputIterator1, class InputIterator2,
> class BinaryPredicate>
> pair<InputIterator1, InputIterator2>
> mismatch(InputIterator1 first1, InputIterator1 last1,
> InputIterator2 first2, BinaryPredicate pred);
>
> > Men i det STL bibliotek der følger med GCC ser implementationen af
> > mismatch således ud:
> >
> > template <class _InputIter1, class _InputIter2, class _BinaryPredicate>
> > pair<_InputIter1, _InputIter2> mismatch(_InputIter1 __first1,
> > _InputIter1 __last1,
> > _InputIter2 __first2,
> > _BinaryPredicate __binary_pred)
>
> Så vidt jeg umiddelbart kan se, er det rigtigt.
Det er det også ifølge standarden, som jeg skrev igår. Min Stroustrup er
åbenbart en gammel sag - det er en third printing fra 1997 og beskrives
mismatch (og transform m.fl.) som om de tager 4 iteratorer (2 sæt begin/end)...
Hvis nogen er så (u)heldige at ligge inde med en third printing fra 1997 kan de
se på side 516 hvor mismatch kaldes på denne måde (4 iteratorer)og ligeledes
med transform på side 518.
Tak for svarene.
Senere
Anders