본문 바로가기

반응형

C++/Study

(25)
[C++] 클래스 템플릿 기반의 객체 생성 함수 템플릿을 사용할 때는 자료형을 명시해주지 않아도 넘겨주는 매개변수에 맞춰서 템플릿 함수가 생성이 되지만 클래스 템플릿은 반드시 자료형을 명시해 주어야만 한다.
[C++] C++의 형변환 연산자 1. dynamic_cast(변환 대상)​상속관계에 놓여 있는 두 클래스 사이에서 자식 클래스의 포인터 및 참조형 데이터를 기초 클래스의 포인터 및 참조형 데이터로 형 변환하는 경우class Car{ // ...}class Truck : public Car{ // ...}int main(void){ Car *pcar1 = new Truck(); Truck ptruck1 = dynamic_cast(pcar1); // 컴파일 에러 Car *pcar2 = new Car(); Truck *ptruck2 = dynamic_cast(Truck *>(pcar2); // 컴파일 에러 Truck *ptruck3 = new Truck(); Car *pcar3 = dynamic_cast(ptruck3); // 컴파일 OK ..
[C++] 증감연산자(전위형 후위형) 전위형 연산자는 변수의 값이 사용되기 전에 먼저 1이 증가한 후 사용이 되고 후위형 연산자는 변수의 값이 사용되고 나서 그 다음에 1이 증가한다. 이는, ++x는 x += 1;x;로 치환되고 (x의 값을 먼저 증가시킨 후 x를 사용함) x++는 x;x += 1;로 치환된다고 생각하면 보다 쉽게 이해할 수 있다. (x를 먼저 사용하고 그 다음에 x의 값을 증가시킴) 예를 들어 x는 4로 초기화되어 있고 cout 가 있다고 한다면 위에 설명한 방법대로 치환하면 x += 1;cout 이 되고 4에서 1이 증가한 출력을 하므로 먼저 5가 출력되고 다시 1을 더한 후에 출력 하니 6이 출력되어 결과적으로 5와 6이 출력됨을 알 수 있다. 다음으로 후위연산자를 보면 마찬가지로 x는 4로 초기화되어 있다고 가정하고 ..
[C++] 함수 오버로딩 출처 - http://cafe.naver.com/cppmaster/2601​작성자 : 강석민(smk6809@yahoo.co.kr)출처 : cafe.naver.com/cppmaster, cafe.naver.com/ioacademy// 마음 대로 퍼 가셔도 되지만 출처는 반드시 밝혀 주시기 바랍니다.​​​함수 오버로딩 ( Function Overloading )​C++은 아주 복잡한 언어입니다. C가 가진 대부분의 것을 지원 하려고 했고, 추가로 객체 지향과 Generic 기법을 지원 하므로서 괴물처럼 커져 버린 언어입니다.​때문에 많은 분들이 C++로 입문 할 때 어려움을 겪고 있습니다.​하지만 C++이 어려운 만큼 C++을 어느정도 잘하게 되면 Java, C# 등의 새로운 언어를 아주 쉽게 배울수 있습니..
[C++] namespace 출처 - http://cafe.naver.com/cppmaster/1175​​6.1 Namespaces 원리와 역사적 배경6.1.1 Namespaces 이면에 존재하는 원리​Namespaces는 1995년에 C++ 표준으로 도입되었다.​우선 왜 namespaces가 언어에 추가되었는지를 이해하기 위해서, 여기에 하나의 비유가 있다.​당신의 컴퓨터에 있는 파일시스템이 디렉토리들과 서브디렉토리들을 전혀 가지지 않는다고 상상하자.​모든 파일들은 항상 모든 사용자와 애플리케이션에게 보여지는 단순한 저장소에 저장될 것이다.​결론적으로, 극단적인 어려움들이 발생할 것이다.​파일이름들이 충돌 할 것이고(몇몇 시스템들은 파일 이름을 8개의 문자로 제한하고 + 확장자들을 3개의 문자들로 제한하고서도 이것은 빈번히 발생할..
[C++] 컨테이너의 요소를 출력하는 Helper 함수 출처 - http://cafe.naver.com/cppmaster/2218 [ 컨테이너의 요소를 출력하는 Helper함수 ]C++수업 시간에 사용했던.. show()함수 입니다. STL 공부하시는 분에게 도움이 되시기를.. // cppmaster.hcafe.naver.com // cppmaster.h// MODULE : CPPMASTER.h// DESCRIPTION : print elements in container// AUTHOR : kang seog min// CONTACT : smk6809 @ yahoo.co.kr// cafe.naver.com/cppmaster// Usage :// int x[10] = { 1,2,3,4,5,6,7,8,9,10};// vector v(x, x+10..
[C++] 메모리 할당 이야기 출처 - http://cafe.naver.com/cppmaster/2229​​​C++ 문법중 어려운 것중 하나가 메모리 관련 기법들 입니다.​이번에는 C++의 메모리 할당 관련 내용을 총정리 해 보도록 하겠습니다.​참고 자료는 아래 표와 같습니다.책 제목참고More Effective C++항목 8Effective C++항목 16, 49, 50, 51, 52The C++ Programming Language19.4Exceptional C++항목 35, 36Modern C++ Design4장C++ 표준 문서 (ISO 14882:2003)1.7, 3.7.3, 5.3.4, 5.3.5, 12.5, 20.4​되도록 틀린 내용이 없도록 하기 위해서 C++표준 문서(ISO 14882:2003)를 통해서 모든 내용을 검..
[C++] 함수 객체 출처 - http://cafe.naver.com/cppmaster/2327​(출처의 링크를 클릭하여 원본 글로 가시면 아래 내용이 정리되어 있는 pdf 파일을 다운 받으실 수 있습니다. 아래 내용은 pdf 파일의 내용을 그대로 옮긴 것이며 pdf 파일에는 코드에 색상도 들어가 있기 때문에 pdf 파일로 보시는게 더 좋습니다. 원본 글이나 원본 글의 pdf 파일의 다운 링크가 깨질 경우를 대비해서 텍스트로 정리 해놓았습니다.)​​​function object​1. 기본 개념​C++ 에서는 함수 호출시에 사용하는 ( )도 결국 연산자 이다.따라서 클래스를 만들 때 ( )연산자를 재정의 하는 것도 가능하다.( )연산자를 재정의 하면 객체를 마치 함수 처럼 사용할 수 있는데 이를 함수 객체 ( function ..

반응형