◆STL(Standard Template Library)
▷자료형에 구애받지 않는 통합 라이브러리를 만들 수 있으며 다른 언어의 Generic보다 좋은 퍼포먼스를 보여준다.
//아래 코드를 클래스 위에 작성한다.
template <typename T>
◆STL로 가변 클래스 작성 가능
▷STL은 여러 타입에 대응가능하여 코드의 재사용성이 크게 향상된다.
#include <cstdio>
template <typename T>
class MyClass {
public:
T value;
};
int main(){
MyClass<int>* k = new MyClass<int>();
k->value=1000;
MyClass<std::string>* ms = new MyClass<std::string>();
ms->value = "Hello world";
}
◆STL에서 std::string을 사용할 떄 함수인자로 레퍼런스로 줄 때, const T& str과 같이 const를 붙여줘야 한다
▷reference로 준다는것은 바꿀수 있다는 의미이기 때문이다.
◆STL은 선언과 정의를 분리할 수 없다.
▷컴파일시간에 STL이 작동하기 때문에 보통 헤더파일에만 존재한다.
'C++ > C++' 카테고리의 다른 글
[C++] 파일 입출력 (0) | 2023.02.16 |
---|---|
[C++] STL 자료구조 (0) | 2023.02.16 |
[C++] const, static, extern (0) | 2023.02.15 |
[C++] 문자열, 네임스페이스, 레퍼런스 타입 (0) | 2023.02.13 |
[C++] Bitwise와 순수 가상함수 (0) | 2023.02.13 |