blackswift said:
I know STL is part of the standard.
Is STL a part of C++ language?
I heard scanf function is not a part of C.
STL is written in C++, and scanf() is written in C and portable to C++.
Here's why you heard these things. In a language like BASIC, the command
PRINT is a keyword. You can't write PRINT in BASIC, and it does magic things
(such as tricks with the ; delimiter, IIRC) that are beyond the ken of
BASIC's functional abilities.
Keywords are the things that turn blue in your editor. Things like int and
if. Operators are the marks like & and * that are also built-into the
language.
C++ keywords and operators are sufficiently powerful that you can trivially
write the equivalent of PRINT using them. So much of the functions that come
with every C++ implementation are powerful functions and classes written
using the core language's keywords and operators.
Someone might reply "STL is part of the ISO C++ Standard so it's part of
C++". That's mildly correct, and a tautology. Things that are part of a
language's Standard are of course part of the language. But none of the C++
implementations exactly follow the standard (IIRC), so we are really talking
about a de-facto standard here.
Further, the STL is defined so you can invent your own containers,
iterators, and algorithms, and you can mix and match these with the Standard
ones. Heaven for people mired in PRINT!