"using" in C++ is pretty much the same thing as "import" in Java. The
analogy does not go all the way; C++ namespaces are more malleable
than Java packages. But just the "using" keyword itself is very
similar to Java's "import". Just type "using" instead of "import", and
"::" instead of ".", and it's the same. All the decisions about
importing the whole thing vs. importing one name at a time vs. not
important and having to spell everything out are identical.
There are two differences, even there. One is, C++ only has a std.
There are no std::stl, std::iostreams, etc., just std. If you pull in
all the names in std, you will get a lot more than if you pulled in a
whole package in Java. Also, Java imports some names (java.lang.*)
whether you ask it to or not. C++ does not do this. If you want names
out of std, you have to say so.
Past that, differences accumulate, and I'd check the FAQ. C++
namespaces are only for names. Everything related to header files,
compilation, linking against libraries (if you do that), etc., is the
same as it always was.