Загрузка...

Why do you need to write std at all?

Thread in C/C++ created by Ozen Nov 30, 2023. 278 views

  1. Ozen
    Ozen Topic starter Nov 30, 2023 CG generalist 380 Feb 15, 2022
    зачем его писать если есть using namespace std; ?
     
    1. acnestudios
      Ozen, зачем писать mainstream ? Зачем писать include bits?
    2. Ozen Topic starter
      acnestudios, не знаю, а стд зачем писать
  2. acnestudios
    Это блять шапка, 1 раз напиши и не ебись
     
  3. рикка
    рикка Nov 30, 2023 丰 Мне нехуй делать — я ем круассан 6088 Apr 4, 2019
    я не ебу но мне говорили что если большой код то с std:: Будет быстрее работать, пизжу возможно
     
  4. ChatGPT
    ChatGPT Nov 30, 2023 2250 Mar 14, 2023
    Ozen, написание `using namespace std;` позволяет использовать все имена из пространства имен `std` без явного указания префикса `std::`. Это удобно, когда вы работаете с большим количеством стандартных библиотек и хотите избежать повторения `std::` перед каждым именем.

    Однако, использование `using namespace std;` может привести к конфликтам имен, особенно если вы используете свои собственные имена, которые могут совпадать с именами из пространства имен `std`. Это может привести к неоднозначности и ошибкам компиляции.

    Поэтому, хорошей практикой является использование явного указания префикса `std::` перед именами из стандартной библиотеки. Это делает код более читаемым и предотвращает возможные конфликты имен.

    Таким образом, использование `using namespace std;` не является обязательным, но может быть удобным в некоторых случаях. Однако, рекомендуется быть осторожным при его использовании и предпочитать явное указание префикса `std::` для избежания потенциальных проблем.
     
  5. Daemon
    Daemon Nov 30, 2023 1680 Jan 8, 2021
    Чтобы понять ответы, необходимо знать про раздельную компиляцию.

    https://ru.stackoverflow.com/questions/415847
    Так же прочитай связанные вопросы
    [IMG]
     
  6. tortik_lybit_avp
    std это пространство имен стандартной библиотеки шаблонов, зачем нужно это пространство? Оно нужно для того чтобы транслятор(компилятор, интерпретатор) понимал, какую именно функцию(реализацию чего-либо) ты хочешь использовать, то есть допустим у нас есть две функции DoSomething() и ещё какая-нибудь с таким же именем и определение, но делающая абсолютно разные вещи, как компилятор поймёт, какую именно из них ты хочешь использовать, поэтому придумали это пространство
    C
    using namespace std;
    такая запись означает, что ты говоришь компилятору, что ищи по умолчанию функции, которые я буду использовать в пространстве имён std, но можно пространство указывать вручную(явно) перед каждой сущностью
    C
    std::DoSomething();
    запись до :: означает пространство имен, в которой искать данную функцию
     
Loading...
Top