On 25/08/2020 15.15, André Pönitz wrote:
On Mon, Aug 24, 2020 at 09:46:43AM +0200, Mathias Hasselmann wrote:
    C++ also has a solution for that problem: [1]
    
https://herbsutter.com/2013/08/12/gotw-94-solution-aaa-style-almost-always-auto/

AAA is a non-solution from the ivory tower.

It's a pain for human reviewers and tools operating on less then a full
translation unit.

(Almost) real-world example:

     for (auto i = foo.guess_stuff(); --i >= 0; )
       do_something(i);

Good? Bad?

Bad, *but*...

  for (auto const i : indexRange(foo.guess_stuff()) | range::reverse)
    do_something(i)

...better! ;-) Also answers Scott's question.

(I'll assume `do_something` is actually something complicated enough that std::for_each or the like wouldn't be preferred. Also note that exact spelling of the above will depend on where you are getting range utilities; in my case, I'm lucky if I can use C++14, so I have my own implementations.)

BTW, AAA encourages duck typing, which may be a good or bad thing depending on your perspective.

--
Matthew
_______________________________________________
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development

Reply via email to