Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

безымянные пространства имен С++

307
27 декабря 2008 года
Artem_3A
863 / / 11.04.2008
Уважаемые форумчане, недавно прочел у Уолтера Савича, что с помощью безымянных пространств имен можно скрывать вспомогательные функции от пользователя. В связи с чем меня крайне интересует нет ли у кого примеров сего действа, на сколько это удобно, плюсы и минусы такого подхода?
505
27 декабря 2008 года
vAC
343 / / 28.02.2006
Безымянные пространства имен - альтернатива static.
 
Код:
// file1.cpp
static int I;
static void f()
{
}
// file2.cpp
static int I;
static void f()
{
}

альтернатива:
Код:
// file1.cpp
namespace {
 int I;
 void f()
 {
 }
}
// file2.cpp
namespace {
 int I;
 void f()
 {
 }
}
1
27 декабря 2008 года
kot_
7.3K / / 20.01.2000
И кстати у тогоже Савича примеры по БПИ вроде же присутсвуют? А к книге помоему и диск прилагается - но точно не помню - это надо рытся по библиотеке
240
27 декабря 2008 года
aks
2.5K / / 14.07.2006
Не то чтоб прям альтернатива. Вернее они ограничивают видимость своих членов. Ну собственно это работа всех нэймспейсов. Только вот ограничивают еденицей трансляции. Тоесть конечно можно использовать на замену статическим членам, чтобы не было совпадений в разных еденицых трансляции, но суть несколько шире. Да и работает по другому.
505
28 декабря 2008 года
vAC
343 / / 28.02.2006
Цитата: aks
Тоесть конечно можно использовать на замену статическим членам, чтобы не было совпадений в разных еденицых трансляции, но суть несколько шире.



Я бы сказал - нужно.

[quote=ISO/IEC 14882-2003]
[LEFT]The use of the static keyword is deprecated when declaring objects in a namespace scope (see annex D);
the unnamed-namespace provides a superior alternative.[/LEFT]
[/quote]
[LEFT]тут разжевано:
http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=210[/LEFT]

307
28 декабря 2008 года
Artem_3A
863 / / 11.04.2008
Цитата: kot_
И кстати у тогоже Савича примеры по БПИ вроде же присутсвуют? А к книге помоему и диск прилагается - но точно не помню - это надо рытся по библиотеке



К сожалению в редакции, имеющейся у меня в наличии, присутствует только упоминание о такой возможности.

1
28 декабря 2008 года
kot_
7.3K / / 20.01.2000
не помню честно говоря. будет врямя - гляну. Если в моей редакции действительно более информации - то выложу.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог