Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
12 / 12 / 7
Регистрация: 24.10.2015
Сообщений: 208
1

Использовать using namespace std; или каждый раз прописывать std:: . ?

22.11.2017, 10:25. Просмотров 3247. Ответов 13
Метки нет (Все метки)


Как безопаснее и рациональнее поступать? Как в больших проектах поступают на этот счет?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.11.2017, 10:25
Ответы с готовыми решениями:

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

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

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

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

13
Эксперт С++
1589 / 921 / 777
Регистрация: 06.02.2016
Сообщений: 2,408
Записей в блоге: 29
22.11.2017, 10:31 2
Цитата Сообщение от Assassin225 Посмотреть сообщение
Как в больших проектах поступают на этот счет?
C++
1
std::
1
12 / 12 / 7
Регистрация: 24.10.2015
Сообщений: 208
22.11.2017, 10:34  [ТС] 3
Цитата Сообщение от Peoples Посмотреть сообщение
std::
Спасибо! А скорость работы отличается? Если да, то в чью пользу?
0
Эксперт С++
1589 / 921 / 777
Регистрация: 06.02.2016
Сообщений: 2,408
Записей в блоге: 29
22.11.2017, 10:39 4
Просто не засоряется пространство имён и уменьшается шанс наткнуться на неоднозначность
C++
1
std::vector<int>v; // 100% знаем что это вектор стандартной библиотеке, а не какой-то созданный нами класс vector
1
1110 / 844 / 389
Регистрация: 30.10.2017
Сообщений: 2,366
22.11.2017, 10:41 5
Можно еще так.

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
using std::cout;
using std::endl;
 
int main()
{
    cout << "Hello World!" << endl;
 
    system("pause");
    return 0;
}
1
12 / 12 / 7
Регистрация: 24.10.2015
Сообщений: 208
22.11.2017, 10:41  [ТС] 6
Цитата Сообщение от Peoples Посмотреть сообщение
Просто не засоряется пространство имён и уменьшается шанс наткнуться на неоднозначность
Значит получается так будет надежнее? И следовательно безопаснее?
0
Эксперт С++
1589 / 921 / 777
Регистрация: 06.02.2016
Сообщений: 2,408
Записей в блоге: 29
22.11.2017, 10:42 7
Assassin225, да
1
77 / 50 / 16
Регистрация: 17.05.2015
Сообщений: 264
22.11.2017, 10:45 8
Цитата Сообщение от Assassin225 Посмотреть сообщение
Спасибо! А скорость работы отличается? Если да, то в чью пользу?
написание кода занимает от силы 5-10% создания всего крупного проекта. Ты дольше будешь головой об доску биться, чем кодить.

А так вот когда стоит юзать неймспейсы
C++
1
2
3
4
5
if ((*piNonce & 0xFF) == 0) {
        using namespace std::chrono;
        uint64_t iStamp = time_point_cast<milliseconds>(high_resolution_clock::now()).time_since_epoch().count();
    ...
}
1
12 / 12 / 7
Регистрация: 24.10.2015
Сообщений: 208
22.11.2017, 10:49  [ТС] 9
Цитата Сообщение от Valeryn Посмотреть сообщение
написание кода занимает от силы 5-10% создания всего крупного проекта.
Мне интересно только написание кода.
0
301 / 213 / 74
Регистрация: 23.05.2011
Сообщений: 970
22.11.2017, 11:26 10
Ты не можешь написать код, не придумав, что будешь писать.

Добавлено через 34 секунды
А так, на производительность не влияет, ведь после компиляции результат будет одинаковый.
1
77 / 50 / 16
Регистрация: 17.05.2015
Сообщений: 264
22.11.2017, 12:53 11
Цитата Сообщение от Assassin225 Посмотреть сообщение
Мне интересно только написание кода.
Это так ты сейчас говоришь. А более менее вменяемый проект, суть которого не hello world и не 2+2 заставит много думать.
Как реализовать классы, интерфейсы. Что и куда должно у тебя идти, что из чего вытекать и т.д. Ты будешь почти все время думать. И лишь изредка дотягиваться до клавиатуры и что-то писать.
Единственное что много жрет времени на написание. Это какой нибудь парсер или покрытие проекта юнитестами.

Так что using namespace почти не сыграет на скорость разработки. А вот вызвать конфликты может за просто.
0
12 / 12 / 7
Регистрация: 24.10.2015
Сообщений: 208
22.11.2017, 12:58  [ТС] 12
Цитата Сообщение от Valeryn Посмотреть сообщение
А вот вызвать конфликты может за просто.
А как избежать конфликтов?
0
301 / 213 / 74
Регистрация: 23.05.2011
Сообщений: 970
22.11.2017, 13:16 13
Цитата Сообщение от Assassin225 Посмотреть сообщение
А как избежать конфликтов?
Писать std::
1
2753 / 1700 / 352
Регистрация: 09.09.2017
Сообщений: 7,161
22.11.2017, 20:43 14
странно что никто не послал сюда Std:: или using namespace std;
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.11.2017, 20:43

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Почему не стоит использовать using namespace std
Хотел еще узнать, почему большенство не используете using namespace std; ? А пишут его в каждой...

Как можно еще использовать std::placeholders вне в связки с std::bind?
Добрый день! Как можно еще использовать std::placeholders вне в связки с std::bind?

Не воспринимает ни std::cout, ни std::cin. Вобщем ничего из std. Также не понимает iostream
Здравствуйте! Я хотел начать изучать язык C++. Набрал литературы. Установил Microsoft Visual C++...

Std и using namespace std
Здравтсвуйте, я не из тех если кому то сказали так надо, а те и пишут что им дали.Поэтому я бы...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

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