Форум программистов, компьютерный форум CyberForum.ru

namespace std - C++

Восстановить пароль Регистрация
 
Ubhra
5 / 5 / 0
Регистрация: 26.08.2010
Сообщений: 132
Записей в блоге: 1
10.10.2013, 09:42     namespace std #1
Добрый день.
Вычитал что могу использовать любой namespace.
Но в другом месте написано что если не использовать std, то не сможет определится, например, cout.
Так ли это? И если да, то как определить в каком пространстве какие имена?
Спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11804 / 6783 / 767
Регистрация: 27.09.2012
Сообщений: 16,838
Записей в блоге: 2
Завершенные тесты: 1
10.10.2013, 09:45     namespace std #2
Цитата Сообщение от Ubhra Посмотреть сообщение
И если да, то как определить в каком пространстве какие имена?
Вся стандартная библиотека в std
Для остального смотрите документацию
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
10.10.2013, 09:46     namespace std #3
Цитата Сообщение от Ubhra Посмотреть сообщение
Но в другом месте написано что если не использовать std, то не сможет определится, например, cout.
Цитату из конкретного места. Такая формулировка вообще не имеет смысла.
Если не использовать директиву using namespace, то объект cout доступен с явным указанием пространства имен, т.е. как std::cout.
Цитата Сообщение от Ubhra Посмотреть сообщение
то как определить в каком пространстве какие имена?
Читать либо исходники, либо документацию.
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5437 / 2561 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 1
10.10.2013, 09:58     namespace std #4
Ubhra, вот здесь можно порыться, поискать чего интересного в примерах: using namespace std и std:: надоело смотреть!
Ubhra
5 / 5 / 0
Регистрация: 26.08.2010
Сообщений: 132
Записей в блоге: 1
10.10.2013, 11:02  [ТС]     namespace std #5
Вот цитата:
Существуют стандартные группы имен, такие как std. Именно к такой группе относится имя cout, а также имена множества других объектов, включенных в С++. Если не использовать эту директиву, компилятор может не узнать имя cout и выдать следующее сообщение об ошибке (символ cout не определен):
Undefined symbol 'cout'
Croessmah
10.10.2013, 11:04
  #6

Не по теме:

Цитата Сообщение от Ubhra Посмотреть сообщение
Вот цитата:
Ох ты, Господи! Без using namespace прям жизнь остановилась...

alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.10.2013, 11:08     namespace std #7
Цитата Сообщение от Ubhra Посмотреть сообщение
Вот цитата:
Понятно. И в чём вопрос?
Ubhra
5 / 5 / 0
Регистрация: 26.08.2010
Сообщений: 132
Записей в блоге: 1
10.10.2013, 11:15  [ТС]     namespace std #8
Если обобщить, то вот в чем..
Могу ли я использовать это так?

using namespace std;
...код...
cout<<"1";
...код...
my_namespace_1::cout<<"2";
...код...
my_namespace_2::cout<<"3";
...код...
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5437 / 2561 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 1
10.10.2013, 11:21     namespace std #9
Ubhra, вы почитали ссылку, которую я привел?
Зря что ли -=ЮрА=- распинался:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
namespace my
{
    template <class T>
    T cout(T param)
    {
        return param;
    }
}
 
int main()
{
    cout<<"Test\n";
    cout<<my::cout("Test\n");
    system("pause");
    return 0;
}
Ubhra
5 / 5 / 0
Регистрация: 26.08.2010
Сообщений: 132
Записей в блоге: 1
10.10.2013, 11:24  [ТС]     namespace std #10
Прочел по ссылке и как бы уже ни в чем вопросов нет ) Спасибо.
Dmitriy_M
1294 / 1175 / 104
Регистрация: 20.03.2009
Сообщений: 4,207
Записей в блоге: 11
10.10.2013, 12:34     namespace std #11
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Зря что ли -=ЮрА=- распинался:
И зачем плодить пространство имен с глупым названием my, когда можно сделать так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
template <class T>
T cout(T param)
{
     return param;
}
 
int main()
{
    std::cout<<"Test\n";
    std::cout<<cout("Test\n");
    system("pause");
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.10.2013, 12:43     namespace std
Еще ссылки по теме:

std:: vs namespace C++
C++ Использование using namespace std;
using namespace std C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5437 / 2561 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 1
10.10.2013, 12:43     namespace std #12
Для наглядности примера.
Yandex
Объявления
10.10.2013, 12:43     namespace std
Ответ Создать тему
Опции темы

Текущее время: 16:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru