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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Ubhra
5 / 5 / 0
Регистрация: 26.08.2010
Сообщений: 133
Записей в блоге: 1
#1

namespace std - C++

10.10.2013, 09:42. Просмотров 908. Ответов 11
Метки нет (Все метки)

Добрый день.
Вычитал что могу использовать любой namespace.
Но в другом месте написано что если не использовать std, то не сможет определится, например, cout.
Так ли это? И если да, то как определить в каком пространстве какие имена?
Спасибо.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.10.2013, 09:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос namespace std (C++):

что использовать std::cout или просто using namespace std? - C++
Приветствую! Сейчас учу С++, постигаю азы так сказать. В арсенале две книги - Джефф Кент, "Основы программирования " и Х.М....

Зачем часто писать std::, если можно один раз using namespace std? - C++
зачем часто писать std:: если можно один раз using namespace std?

Пространство имен - namespace std или std:: - C++
В каких случая лучше писать (std::cout) или просто прописать (namespace std) и почему ?

using namespace std; - C++
Здравствуйте. Я заметил, что многие программисты стараются избегать этой строчки в своих программах. С чем это связанно? И еще...

using namespace std - C++
using namespace std; скажите плиз что означает ета строка и для чего она нужна?

std:: vs namespace - C++
Тема не для холивара, объясните пожалуйста чем лучше std:: а не using namespace std ? Без namespace std, возникает такая ошибка, но...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Croessmah
Эксперт CЭксперт С++
13214 / 7485 / 843
Регистрация: 27.09.2012
Сообщений: 18,401
Записей в блоге: 3
Завершенные тесты: 1
10.10.2013, 09:45 #2
Цитата Сообщение от Ubhra Посмотреть сообщение
И если да, то как определить в каком пространстве какие имена?
Вся стандартная библиотека в std
Для остального смотрите документацию
1
0x10
2464 / 1636 / 238
Регистрация: 24.11.2012
Сообщений: 4,029
10.10.2013, 09:46 #3
Цитата Сообщение от Ubhra Посмотреть сообщение
Но в другом месте написано что если не использовать std, то не сможет определится, например, cout.
Цитату из конкретного места. Такая формулировка вообще не имеет смысла.
Если не использовать директиву using namespace, то объект cout доступен с явным указанием пространства имен, т.е. как std::cout.
Цитата Сообщение от Ubhra Посмотреть сообщение
то как определить в каком пространстве какие имена?
Читать либо исходники, либо документацию.
1
SatanaXIII
Супер-модератор
Эксперт С++
5616 / 2651 / 246
Регистрация: 01.11.2011
Сообщений: 6,529
Завершенные тесты: 1
10.10.2013, 09:58 #4
Ubhra, вот здесь можно порыться, поискать чего интересного в примерах: using namespace std и std:: надоело смотреть!
1
Ubhra
5 / 5 / 0
Регистрация: 26.08.2010
Сообщений: 133
Записей в блоге: 1
10.10.2013, 11:02  [ТС] #5
Вот цитата:
Существуют стандартные группы имен, такие как std. Именно к такой группе относится имя cout, а также имена множества других объектов, включенных в С++. Если не использовать эту директиву, компилятор может не узнать имя cout и выдать следующее сообщение об ошибке (символ cout не определен):
Undefined symbol 'cout'
0
Croessmah
10.10.2013, 11:04
  #6

Не по теме:

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

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

using namespace std;
...код...
cout<<"1";
...код...
my_namespace_1::cout<<"2";
...код...
my_namespace_2::cout<<"3";
...код...
0
SatanaXIII
Супер-модератор
Эксперт С++
5616 / 2651 / 246
Регистрация: 01.11.2011
Сообщений: 6,529
Завершенные тесты: 1
10.10.2013, 11:21 #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;
}
0
Ubhra
5 / 5 / 0
Регистрация: 26.08.2010
Сообщений: 133
Записей в блоге: 1
10.10.2013, 11:24  [ТС] #10
Прочел по ссылке и как бы уже ни в чем вопросов нет ) Спасибо.
0
Dmitriy_M
1349 / 1230 / 114
Регистрация: 20.03.2009
Сообщений: 4,420
Записей в блоге: 11
10.10.2013, 12:34 #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;
}
0
SatanaXIII
Супер-модератор
Эксперт С++
5616 / 2651 / 246
Регистрация: 01.11.2011
Сообщений: 6,529
Завершенные тесты: 1
10.10.2013, 12:43 #12
Для наглядности примера.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.10.2013, 12:43
Привет! Вот еще темы с ответами:

using namespace std - C++
Обьясните пожалуйста понятным языком, что такое пространство имен, и зачем нужна эта команда или std::

Using namespace std - C++
В чем отличие, если один cout (или что-то другое) будет в std, а другой stdd, для чего вообще using namespace? Уже везде где только можно...

Использование using namespace std; - C++
Я где-то слышал что использование такой диррективы на корню убивает пространство имен, но ведь только в boost и stl есть похожие классы,...

Что означает using namespace std? - C++
Что означает в с++? using namespace std объясните пожалуйста простым языком))


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
10.10.2013, 12:43
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru