Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 15.06.2012
Сообщений: 18

Прошу поподробние описать std::./namespace для новичка

06.10.2013, 15:41. Показов 643. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте дорогие форумчане.Я никак не могу усвоить такую фигню как "usind std::..." и "namespace...".
Я просто не понимаю для чего она.Ничего подобного не было в Pascal"е(во всяком случае там где я учился не было ничего похожего.).Даже не с чем сравнить.Знания английского только начальное,т.к. кидать ссылки на англоязычные вики не имеет смысла.
Прошу,спасайте.А то даже первые уроки вызывают непонимания.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.10.2013, 15:41
Ответы с готовыми решениями:

Использовать using namespace std; или каждый раз прописывать std:: . ?
Как безопаснее и рациональнее поступать? Как в больших проектах поступают на этот счет?

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

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

6
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
06.10.2013, 15:42
что такое из зачем namespace вообще знаешь?
0
0 / 0 / 0
Регистрация: 15.06.2012
Сообщений: 18
06.10.2013, 15:59  [ТС]
ну вроде для описания ....Нет,не знаю.Не могу без поиска и гугла описать это.Проде для создания стандартных пространств имен но сам не понимаю что под этим подразумевается.
0
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
06.10.2013, 16:12
объсняю на фигуре из трех пальцев. мы придумываем имена переменных, ф-й, классов и т.д. нас - тьмы, и тьмы, и тьмы. гарантированно имена будут повторяться. чтобы избежать конфликтов, существует namespace (кроме прочего). standard template library вся написана в своем пространстве имен namespace std. если, скажем, ты хочешь использовать какой-то тип, там определенный, ты должен или указать
C++
1
using namespace std;
, или, если нет, не можешь определить вектор (например) так
C++
1
vector<int> v;
, а должен так:
C++
1
std::vector<int> v;
у тебя где-то тоже может, в принципе быть определен тип vector (или string). в классе каком-нибудь, или глобально, или в твоем namespace. как тогда компилятор должен узнать, что ты имеешь ввиду, когда объявляешь переменную типа string?

где-то ты (или кто-то чужой) определил:
C++
1
2
3
4
5
6
namespace MyTypes {
  ...
  class string {
   ...
  };
}
и хочешь где-то использовать. тогда должен или указать
C++
1
using namespace MyTypes;
, или указывать конкретно:
C++
1
MyTypes::string mystr;
ну что - запутал тебя еще сильнее? хе-хе!
1
0 / 0 / 0
Регистрация: 15.06.2012
Сообщений: 18
06.10.2013, 17:01  [ТС]
Я пока что не знаю что дает написанные вами выше команды и от этого тяжело понять.
Если не тяжело то не могли бы вы объяснить это тут.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <conio.h>
#include <iostream>
 
using std::cout;
using std::endl;
int main()
 
{
    cout << "Hello World!" << endl;
    cout << "Name: \t........\n";
    cout << "Lname: \t......\n";
    cout << "Skype: \.....\n";
 
 
 
    getch();
    return 0;
}
Почему если не написать using... то ничего отображаться не будет?Ведь они не используют...Ах,не знаю что они не используют.Просто не понимаю.
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
06.10.2013, 18:18
using namespace std
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
08.10.2013, 15:26
попробую привести такую аналогию
ты пишешь кому-нибудь письмо и даешь такую ссылку книга "Война и мир" страница 25 третья строчка сверху
но книга переиздавалось 100500 раз и не факт что у твоего адресата есть точно экземпляр этого издания
следовательно на 25 странице будет совсем другой текст
тогда уточняешь книга такого-то года и такого то издательства
так и namespace(дословно пространство имен)
если ты напишешь string то компилятор не будет знать где это описано, может быть много стрингов
по этому уточняешь( даешь ссылку на издательство) что из пространства имен std::
тогда это будет выглядеть так
C++
1
std::string
но если ты работаешь только с этим пространством имен (std)
то можно открыть это пространство и тогда все типы описные в этом пространстве будут использоваться без std::
C++
1
2
using namespace std; // использовать пространство имен std
string  str;// объявить строку тип описан в пространстве имен std
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.10.2013, 15:26
Помогаю со студенческими работами здесь

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

Std:: или using namespace std;
Вопрос к профессионалам. Меня давно интересуют такие вопросы: 1) Почему, многим, вроде бы не безграмотным С++-шникам, в консольных...

Для чего в коде нужна строка "using namespace std"?
у меня возникла проблема при удалении &quot;using namespace std;&quot; перестает работать cout точнее пишет Build FAILED. File2.cpp(11,6):...

namespace std
Добрый день. Вычитал что могу использовать любой namespace. Но в другом месте написано что если не использовать std, то не сможет...

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


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru