From 5faaf058e1fa5f4d1da6d00948f94c88b058d68d Mon Sep 17 00:00:00 2001 From: bharathcs Date: Mon, 29 Aug 2022 13:13:34 +0800 Subject: [PATCH] Update C++ docs to improve clarity on namespace. Make it immediately obvious what importing a namespace does, instead of just listing how to use fully qualified symbols. --- c++.html.markdown | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/c++.html.markdown b/c++.html.markdown index 33ef70f3..499eb669 100644 --- a/c++.html.markdown +++ b/c++.html.markdown @@ -158,6 +158,10 @@ namespace Second { { printf("This is Second::foo\n"); } + void bar() + { + printf("This is Second::bar\n"); + } } void foo() @@ -168,10 +172,12 @@ void foo() int main() { // Includes all symbols from namespace Second into the current scope. Note - // that simply foo() no longer works, since it is now ambiguous whether - // we're calling the foo in namespace Second or the top level. + // that while bar() works, simply using foo() no longer works, since it is + // now ambiguous whether we're calling the foo in namespace Second or the + // top level. using namespace Second; + bar(); // prints "This is Second::bar" Second::foo(); // prints "This is Second::foo" First::Nested::foo(); // prints "This is First::Nested::foo" ::foo(); // prints "This is global foo"