ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [C++] std 뜻
    프로그래밍/C & C++ 2024. 6. 30. 23:53
    728x90
    반응형

    std는 "standard"의 약자로, C++ 표준 라이브러리(Standard Library)를 의미합니다. std 네임스페이스는 C++ 표준 라이브러리의 모든 구성 요소를 포함하는 네임스페이스입니다. 이를 통해 표준 라이브러리의 함수, 클래스, 객체 등을 다른 사용자 정의 코드와 구분하여 사용할 수 있습니다.

    주요 예시

    1. std::vector

    동적 배열을 구현하는 표준 라이브러리 컨테이너입니다.

    #include <iostream>
    #include <vector>
    
    int main() {
        std::vector<int> v = {1, 2, 3, 4, 5};
        for (int i : v) {
            std::cout << i << " ";
        }
        std::cout << std::endl;
        return 0;
    }

    2. std::string

    문자열을 다루기 위한 클래스입니다.

    #include <iostream>
    #include <string>
    
    int main() {
        std::string s = "Hello, World!";
        std::cout << s << std::endl;
        return 0;
    }

    3. std::cout and std::cin

    표준 입출력 스트림 객체입니다.

    #include <iostream>
    
    int main() {
        int number;
        std::cout << "Enter a number: ";
        std::cin >> number;
        std::cout << "You entered: " << number << std::endl;
        return 0;
    }

    4. std::unique_ptr

    스마트 포인터의 한 종류로, 유일한 소유권을 가지는 포인터입니다.

    #include <iostream>
    #include <memory>
    
    class Resource {
    public:
        Resource() { std::cout << "Resource acquired\n"; }
        ~Resource() { std::cout << "Resource released\n"; }
    };
    
    int main() {
        std::unique_ptr<Resource> res = std::make_unique<Resource>();
        return 0;
    }

    네임스페이스와 std::

    C++ 표준 라이브러리는 방대한 양의 클래스와 함수들을 포함하고 있기 때문에, std 네임스페이스를 사용하여 이러한 구성 요소들을 깔끔하게 조직하고 다른 코드와의 이름 충돌을 방지할 수 있습니다. 예를 들어, std::vector와 같이 std::를 접두사로 사용하여 표준 라이브러리의 vector 클래스를 명시적으로 사용하는 것입니다.

    또한, 네임스페이스를 사용하지 않고 특정 범위에서 표준 라이브러리를 사용하고자 할 때는 다음과 같이 using 키워드를 사용할 수 있습니다:

    #include <iostream>
    #include <vector>
    using namespace std;
    
    int main() {
        vector<int> v = {1, 2, 3, 4, 5};
        for (int i : v) {
            cout << i << " ";
        }
        cout << endl;
        return 0;
    }

    위와 같이 using namespace std;를 사용하면, 코드에서 std:: 접두사를 생략할 수 있습니다. 그러나 큰 프로젝트에서는 이름 충돌을 피하기 위해 네임스페이스를 명시적으로 사용하는 것이 권장됩니다.

    728x90
    반응형
Designed by Tistory.