반응형

<개인공부>/[C++] 55

[C++] template(템플릿)에 관하여 2 (클래스 템플릿, 템플릿 특수화)

안녕하세요. BlockDMask 입니다.오늘은 C++ template(템플릿)에 관하여 두번째 시간입니다. 클래스 템플레이트와 템플레이트 특수화에 대해서 배울것 입니다.혹시 template이 무엇인지 다시한번 복습이 필요하신분들은. [바로가기] 1) 템플릿 특수화 (template specialization) 템플릿(template)을 사용할때, 특수한 자료형에 대해서는 다른 처리를 하고 싶을때 사용합니다. 사용 방법은 아래처럼 template 가 정의되어있을때, 같은 함수에 대해서, 재정의?하고싶은 데이터 타입을 이용해서 아래 주황 글씨처럼 재정의 하면됩니다. T를 없애고 넣고싶은 데이터 타입을 넣습니다. 123456789101112template T sum(T a, T b){ return a + b;..

[C++] template(템플릿) 에 관하여 1 (템플릿이란, 함수 템플릿)

안녕하세요 BlockDMask 입니다.오늘은 C++에서 자료형을 마음대로 가지고 놀 수 있는, template (템플릿) 에 대해 알아보겠습니다. 1) 템플릿(Template) 이란.함수나 클래스를 개별적으로 다시 작성하지 않아도, 여러 자료 형으로 사용할 수 있도록 하게 만들어 놓은 틀. 함수 템플릿(Function Template)와 클래스 템플릿(Class Template) 로 나누어집니다.개인적으로 비유를 들자면 펜중에.. 5색펜 이런거 있잖아요. 펜이 한자루 인데. 여러가지 색(자료형)을 우리가 그때그때 쓸 수 있잖아요. template는 여러개의 색(자료형)을 모아놓은 하나의 펜 케이스 그때그때 다른 색(자료형)을 눌러서 사용할 수 있다. 일반 자료형들이 [왼쪽] 펜들 이라고 생각한다면 -> ..

[C++] string 클래스 변환(atoi, c_str()) 등 정리

C++에서 string, char *, int 간의 변환에 대해서 알아보겠습니다.(char* -> int 로 바꾸는 것을 보고싶다면, [바로가기])(string -> int 로 바꾸는 것을 보고싶다면, [바로가기])(int -> string 으로 바로 바꾸는 것을 보고싶다면 [바로가기])(C++ string에 대한 총정리가 보고싶다면 [바로가기]) 1) 함수 설명int atoi (const char * str) 헤더파일(C) : 헤더파일(CPP) : 설명 : C style의 문자열을 입력받아서 int (숫자) 타입으로 변환하여 리턴한다.std::string c_str() 반환형이 char * 이므로, 해당하는 string의 첫번재 문자의 주소값(포인터)를 반환합니다. 사용방법은 아래에 나와있습니다. 2)..

[C++] string 클래스 정리

C++ string 클래스 함수를 정리해보았습니다이쪽으로오세요~ 리뉴얼한 C++ string 총정리편 [바로가기] 1) 헤더파일using namespace std; 를 추가해주어야 합니다.2) 여러 함수 및 초기화 방법들생성1 : string str1("BlockDMask");생성2 : string str1; str1 = "BlockDMask";생성3 : string str2(str1); //다른 string 객체 인자로. 길이1 : str.length();길이2 : str.size(); 한 문자 반환 받기 : str.at(n); //n번째 있는 문자 반환, 배열이라고 생각하면 됨. 0부터 시작. //str[n] 문자열 처럼도 사용가능.문자열 찾기 : str.find("문자열"); //찾는 문자열의 첫번..

[C++] string 클래스 만들어보기.

공부를 하기 위해 String class 을 직접 만들어 보았습니다.0) 설명 (Intro)C++을 학습하다가 String 클래스를 직접 만들어 보는 실습이 있어서 작성하게 되었습니다.char * , 동적할당을 이용하여서 만들었습니다.string s1("문자열") 과 string s1 = "문자열" 을 통하여 문자열을 초기화 및 입력이 가능하도록 하였습니다.또한 string의 덧셈(+), 더하고 대입(+=), 출력(), 비교(==)를 연산자 오버로딩(operator)을 통하여 만들었습니다.1) 코드 (Code) 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859..

반응형