отключение пространства имен
От: _nn_ www.nemerleweb.com
Дата: 31.12.03 17:43
Оценка:
Почему в C++ нету комманды для отключения пространства имен ?
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re: отключение пространства имен
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 01.01.04 02:14
Оценка:
Здравствуйте, _nn_, Вы писали:

__>Почему в C++ нету комманды для отключения пространства имен ?


Наверное, потому же, почему в C++ нет команды отключения виртуального наследования.
... << RSDN@Home 1.1.2 beta 2 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[2]: отключение пространства имен
От: _nn_ www.nemerleweb.com
Дата: 01.01.04 06:57
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Здравствуйте, _nn_, Вы писали:


__>>Почему в C++ нету комманды для отключения пространства имен ?


ГВ>Наверное, потому же, почему в C++ нет команды отключения виртуального наследования.


Виртуальное наследование отключать нельзя , так как оно задуманно так.
А вот почему пространство имен не отключить ?
Чтобы можно было типа такого :
namespace A
{
 void f(){}
}
namespace B
{
 void f(){}
}

using namespace A;
void fA()
 {f();} // A::f();
unusing namespace A;

using namespace B;
void fB()
 {f();} // B::f();
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[3]: отключение пространства имен
От: INTP_mihoshi Россия  
Дата: 03.01.04 11:42
Оценка:
А ты не отключай, ты заключай Примерно так

__>А вот почему пространство имен не отключить ?

__>Чтобы можно было типа такого :
__>

{
__>using namespace A;
__>void fA()
__> {f();} // A::f();
}

{
__>using namespace B;
__>void fB()
__> {f();} // B::f();
}
__>
Re[4]: отключение пространства имен
От: _nn_ www.nemerleweb.com
Дата: 03.01.04 15:55
Оценка:
Здравствуйте, INTP_mihoshi, Вы писали:

INT>А ты не отключай, ты заключай Примерно так


__>>А вот почему пространство имен не отключить ?

__>>Чтобы можно было типа такого :
__>>

INT>{
__>>using namespace A;
__>>void fA()
__>> {f();} // A::f();
INT>}

INT>{
__>>using namespace B;
__>>void fB()
__>> {f();} // B::f();
INT>}
__>>


У меня компилятор (MSVC 7.1) не съел код
namespace C
{
    namespace A
    {void f(){}}
    namespace B
    {void f(){}}
    {
        using namespace A;
        void fA(){f();}
    }
    {
        using namespace B;
        void fB(){f();}
    }
}
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[5]: отключение пространства имен
От: INTP_mihoshi Россия  
Дата: 05.01.04 07:38
Оценка:
Здравствуйте, _nn_, Вы писали:

INT>>А ты не отключай, ты заключай Примерно так


__>У меня компилятор (MSVC 7.1) не съел код


Если еще точнее, то так

namespace C
{
    namespace A
    {
        void f(){;};
    };
    
    namespace B
    {
        void f(){;};
    };    
    
    namespace{
        void fA(){
        using namespace A;
            f();
        }
    }
    
    namespace{
        void fB(){
        using namespace B;
            f();
        }
    }
}



using namespace действует только в текущем scope, или как его там...
Т.е. не выходит за пределы ткущих фигурных скобок
Re[6]: отключение пространства имен
От: _nn_ www.nemerleweb.com
Дата: 08.01.04 15:20
Оценка:
Здравствуйте, INTP_mihoshi, Вы писали:

<skip>

INT>using namespace действует только в текущем scope, или как его там...

INT>Т.е. не выходит за пределы ткущих фигурных скобок

Однако когда пространство имен использованно глобально нужно будет каждый кусок так обварачивать.

Большое Спасибо !
http://rsdn.nemerleweb.com
http://nemerleweb.com
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.