프로그래밍 언어
-
Win32프로그래밍 언어/예외 2009. 2. 4. 22:05
SEH 일반적으로 SEH는 C 프로그래머들에게만 유용한다. Windows 예외 처리부나 종료 처리부는 C++ 객체 인스턴스의 소멸자를 호출하지 않는다. __leave RaiseException() EXCEPTION_EXECUTE_HANDLER // 예외 블럭을 실행한다. EXCEPTION_CONTINUE_SEARCH EXCEPTION_CONTINUE_EXECUTION GetExceptionCode() GetExceptionInformation () AbnormalTermination() VOID ReportException (LPCTSTR UserMessage, DWORD ExceptionCode) /* Report as a non-fatal error. Print the system error mess..
-
C++프로그래밍 언어/expression 2009. 1. 3. 15:32
reinterpret_cast() 임의의 데이터 형식을 전혀 다른 임의의 데이터 형식으로 바꾼다. HTREEITEM hRoot = reinterpret_cast(m_ctlSysTreeView32.SendMessage(TVM_INSERTITEM , 0, reinterpret_cast(&TreeCtrlItem))); /* or HTREEITEM hRoot = (HTREEITEM)(m_ctlSysTreeView32.SendMessage(TVM_INSERTITEM , 0, (LPARAM)(LPTVINSERTSTRUCT)(&TreeCtrlItem))); */ static_cast() 런타임시에 발생할 수 있는 오류를 컴파일 타임에 잡아내 줄수 있다. c type의 cast는 버그의 가능성을 만들어 주지만 stat..
-
규격프로그래밍 언어/네임 스페이스 2009. 1. 1. 15:32
클래스를 기능별로 분류하는 역할도 한다. * C++using-선언문 * C# * 자바패키지? 패키지 선언문소스의 가장 첫 줄에 있어야 한다패키지 이름과 위치한 폴더 이름이 같아야 한다(패키지 이름은 모두 소문자로 지정해야 한다) 기본(default) 패키지 // C:\basicjava\c\javapackage\subpackage c.javapackage.sub;public class Sub {public Sub() {...}public void subClassMethod() {...}} // C:\basicjava\c\javapackage\Package.javapackage c.javapackage;import c.javapackage.sub.Sub;//import c.javapackage.sub.*;p..
-
C++프로그래밍 언어/클래스 2009. 1. 1. 01:12
상속시 생성자, 소멸자, 대입 연산자 등은 제외된다. 가상 소멸자의 가상성(?)은 상속 실행할 가상(virtual) 함수를 런타임에 선택하는 것은 그 함수가 레퍼런스나 포인터를 통해 호출될 때에만 가능하다. 그렇지 않으면 정적 바인딩 가상 함수는 프로그램에서 그 함수를 호출하는지 여부에 상관 없이, 꼭 정의되어야 한다. 파생 클래스에서 오버라이드하는 함수의 타입은 기본 클래스의 그 가상 함수의 타입과 같아야 한다. 단, 반환 타입은 예외 반드시 초기화 리스트로 멤버를 초기화해야 하는 경우 상속받은 멤버를 초기화 포함된 객체 초기화 상수 멤버 초기화 레퍼런스 멤버 초기화 만약 클래스가 아무 생성자라도 명시적으로 정의했다면, 컴파일러는 그 클래스에 대한 디폴트 생성자를 자동으로 만들어 주지 않는다. eg. ..
-
C++프로그래밍 언어/예외 2009. 1. 1. 00:31
try { .. throw n; .. throw ".."; .. } catch(int) { .. } catch (const char *) { .. }입력과 출력을 포함하는 구문은 하나 이상의 부수 효과를 내지 말도록 한다. 표준 라이브러리 예외는 발생시킬 예외상황에 대한 설명인 (선택적인) 인자를 포함 what() 멤버 함수로 접근할 수 있다. #include exception 클래스 이미 존재하는 코드에 변경 불필요 .what() 지역 리소스 관리 #include std::auto_ptr #include std::domain_error std::runtime_error 참조 사이트: http://winapi.co.kr/clec/cpp3/cpp3.htm