Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> using namespase std; расскажите толком про namespase 
:(
    Опции темы
Nastya
Дата 11.3.2003, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 27.3.2002
Где: Мариуполь

Репутация: 5
Всего: 44



Вобщем-то про пространство имен я окромя этой строчки мало, что знаю.
Объясните как с ними работать, как их создавть,
какие еще уже созданы, кроме std.
А если есть лучше дайте хорошую инфу по этому поводу.


--------------------
Что бы понять рекурсию, надо понять рекурсию

"Профессионал - это человек сделавший все возможные ошибки в очень узкой области". Н.Бор
PM MAIL   Вверх
-=Baa=-
Дата 11.3.2003, 21:31 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Давай сделаем своё пространство имен smile.gif
создадим заголовчный файл и приинклудим его к проекту...
файл след. содержания:
Код

namespace xxx {
int Test ()
{
 return 10;
}
}

namespace yyy {
int Test ()
{
 return 20;
}
}


мы объявили 2 пространство имен.
терь в главном проекте можно их использовать smile.gif
пишем: using namespace xxx;
Терь мы можем использовать функцию Test, которая будет возвращать 10, если же мы напишем using namespace yyy; то функция будет взята из втрого пространства и соотв. вернет 20.
  Вверх
-=Baa=-
Дата 11.3.2003, 21:35 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











А про какие еще быывают, дык ты кады-нить директиву #import пользовала? Видимо нет. После импортирования обычно приходится расширять пространство имен из это библиотеки smile.gif
Код

#define USE_PROGID 1
#define USE_LIBID 0

#if USE_PROGID
#import "progid:Excel.Sheet.8" auto_search auto_rename rename_search_namespace("Office9")
#elif USE_LIBID
#import "libid:{00020813-0000-0000-C000-000000000046}" auto_search auto_rename version(1.3) lcid(0) no_search_namespace
#else
#pragma message ("Make sure excel9.olb is on the path")
#import "excel9.olb" auto_search auto_rename
#endif

using namespace Excel;

  Вверх
Vyacheslav
Дата 11.3.2003, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 9
Всего: 59



Пространство имен используется в основном для разрешения возможных конфликтов имен.
Как правило такие конфликты могут возникнуть при использовании чужих библиотек, когда к качестве имени класса, функции или переменной могут быть использованы широко используемые термины данной предметной области. Для того, что бы избежать подобных вещей, водят уточнение имени пространства.
Код

namespace  MySpace
{

class  Class1 {};

}

namespace  YourSpace
{

class  Class1 {};


}

Class1 cls1; // ошибка  - конфликт имен  
MySpace::Class1 MyCls; //так правильно
YourSpace::Class1 YourCls; // так тоже









--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
Nastya
Дата 11.3.2003, 23:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 27.3.2002
Где: Мариуполь

Репутация: 5
Всего: 44



Спасибо,
с дерективой #import не совсем поняла, но, судя по всему, это отдельный разговор.



--------------------
Что бы понять рекурсию, надо понять рекурсию

"Профессионал - это человек сделавший все возможные ошибки в очень узкой области". Н.Бор
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0871 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.