Ray Devore wrote:
> --- "Victor A. Wagner Jr." <[EMAIL PROTECTED]> wrote:
>   
>> Paul Herring wrote:
>>     
>>> On 5/26/07, Victor A. Wagner Jr.
>>>       
>> <[EMAIL PROTECTED]> wrote:
>>     
>>>   
>>>       
>>>> Ray Devore wrote:
>>>>     
>>>>         
>>>>> --- chipaug <[EMAIL PROTECTED]> wrote:
>>>>>       
>>>>>           
>>> [...]
>>>   
>>>       
>>>>>>> #include <iostream>
>>>>>>>
>>>>>>> using namespace std;
>>>>>>>
>>>>>>>           
>>>>>>>               
>>>>> The above statement is not necessary since you
>>>>>           
>> are
>>     
>>>>> using std:: in the code below.  Using the std::
>>>>>           
>> with
>>     
>>>>> the appropriate items makes for cleaner code. 
>>>>>           
>> When
>>     
>>>>> you use "using namespace std;" you have
>>>>>           
>> destroyed the
>>     
>>>>> reason for doing a namespace in the first place.
>>>>>           
>>  You
>>     
>>>>> also get things from the namespace that you do
>>>>>           
>> not
>>     
>>>>> expect.
>>>>>
>>>>>       
>>>>>           
>>>> I'm gonna disagree with you here.  cluttering
>>>>         
>> your code with std:: is
>>     
>>>> just that...cluttering your code
>>>> and   using namespace std; does NOT destroy the
>>>>         
>> reason for namespaces.
>>     
>>>> If it did, it would hardly be part of the
>>>>         
>> language.
>>     
>>>> your assertion that you get things that you do
>>>>         
>> not expect is also
>>     
>>>> somewhat of an overstatement.  That kind of
>>>>         
>> problem comes up only when
>>     
>>>> you put such things in header files.
>>>>     
>>>>         
>>> Could we have your thoughts on the answer to C++
>>>       
>> FAQ 27.5  Victor?
>>     
>>>       
> http://www.parashift.com/c++-faq-lite/coding-standards.html#faq-27.5
>   
>>>   
>>>       
>> yup, FUD.
>> read Item59 of "C++ Coding Standards" by Sutter and
>> Alexandrescu... .I 
>> quote the 1st paragraph under *Discussion*
>>
>> In short: You can and should use namespace *using*
>> declarations and 
>> directives liberally /in your implementation files
>> after *#include* 
>> directives/ and feel good about it.  Despite
>> repeated assertions to the 
>> contrary, namspace *using* declarations and
>> directives are not evil and 
>> they do not defeat the purpose of namespaces. 
>> Rather, they are what 
>> make namespaces usable.
>>
>>     
> OK, but you do not need to do "using namespace std;"
> and use "std::" as the original code had.  That was my
> main point.  The rest was just my rant.
> Ray
>
>   
absolutely correct!!

Reply via email to