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!!