why are other using those, and even if i don't choose to use those |
Since pretty much everything that is legal in C is also legal in C++, often you will see code that is a mix of C and C++. Also if you are using certain third party libraries, you may find some of those libraries only have C interfaces and do not have C++ interfaces.
For example, consider the difference between <cstring> (<string.h>) and <string>.
<cstring> (<string.h>) deals with C-strings which are char arrays terminated by a null character. <string> on the other hand is a true C++ object which encapsulates string handling. In general in C++, you should always use C++ string objects. However, there are times that you may need to deal with a string object as a C-string. For that, there is the string::c_str() function.
would I still need to learn them |
Yes, if you want to understand C code.
why choose them over simple "iostream" or "string" library. |
Normally you would want to always use the C++ way of doing things. However, in a professional environment, not all code is C++. Some is still written in C, so you would want to be able to understand that code.
where i can find problems |
https://projecteuler.net/ is a good place to start.