Liste des Groupes | Revenir à cl c++ |
Muttley@DastardlyHQ.org writes:On Thu, 2 Jan 2025 17:54:18 +0100operator
David Brown <david.brown@hesbynett.no> wibbled:On 02/01/2025 15:07, Muttley@DastardlyHQ.org wrote:>Overloading << and >> was unnecessary and confusing.>
Disagreed. I really don't think it was problematic. Nor did any of the
/many/ people who were involved in the design of C++. Remember, the
language and library has always been discussed, prototyped, and tested
by lots of people before being released. Stroustrup was the main
language designer, but he was far from alone.
Committees often don't come up with optimal solutions. Using the samefor 2 entirely different operations unrelated in either concept or function>
when there was no need to was illogical and perverse.
Like "*" for multiplication and pointer dereferencing? Like "&" for
bitwise "and" and address-of? Like "-" for negation and subtraction?
I would expect all mathematical operations to work in EXACTLY the same way>
in an output stream.
I would expect << and >> to have their usual precedence whether
overloaded or not.
Eg I expect the output to be 256 here:>
>
std::cout << 255 + 1 << std::endl;
Which it is.
std::cout << 255 << 1 << std::endl;>
>
Thats perverse.
Apparently your expectation was incorrect.
std::cout << n = 42 << "\n";
>
and it won't compile, but parentheses are an easy fix and a good idea
anyway.
>
How often has it really been a problem for you?
Les messages affichés proviennent d'usenet.