Amazing, i have decided to learn cpp for fun and wow the designers of the lang had serious gray matter.

Binary search provided. Pair abstraction provided. Lower bound for binary search yup.

Auto for type inference and fast as hell on top of it. Crazy powerful lang and also multiplayform threads.

C++ auto isn't type inference, as so often in C++ it's something weirder which they call type deduction.

In languages with type inference when it could be A or B and it's left to infer the type the compiler just always says it could be A or B, so the programmer needs to disambiguate.

But with deduction in some cases C++ will deduce that you meant A even though you could instead have explicitly chosen B here instead, and too bad if you did mean B because that's not what it deduced.

Can you show me some examples where the deduction is not the expected type?

Here's an easy to understand example

https://cpp.godbolt.org/z/hTaPbM3a4