프로그래밍(301)
-
friend
설명friend 키워드는 c++에서 지원하는 예외적인 기능의 키워드다. 접근 지정자(Access Modifier)를 완벽히 무시할 수 있는 예외적인 기능을 가졌다. 객체 지향 개념의 정보 은닉(Information Hiding) 개념에 정면으로 위배된다. 기능 및 특징private 건 protected건 friend로 선언된 대상에게는 완벽하게 public으로 작용한다. 대상이 외부이건, 상속 관계도에 있건 그런 것은 중요치 않다. friend 키워드는 특이하게도 '당하는' 쪽에서 선언한다. 기존의 키워드 선언은 그것을 하려는 쪽에서 붙였었다. ex) static 선언시 해당 대상은 static 멤버가 된다. 반면 friend는 friend로 지정될 대상을 정하고, 그 내용을 자기 클래스 안 (혹은 함수..
2015.03.30 -
__forceinline, __inline, inline 함수 조사
MSDN 해석(VS2013)- 개인적인 해석이므로 원문과 다소 차이가 있을 수 있습니다. 1. __inline, __forceinline, inline 개요https://msdn.microsoft.com/ko-kr/library/z8y1yy88.aspx 정의inline 및 __inline 지정자는 함수가 호출되는 모든 위치에 함수 본문을 치환하도록 컴파일러에게 지시하는 것이다. inline function_declarator; __inline function_declarator; // Microsoft Specific __forceinline function_declarator; // Microsoft Specific 설명이런 inline 함수의 치환은 컴파일러가 비용/이익 분석 결과 이점이 있는 경우에..
2015.03.29 -
Stroustrup Empty class에 대한 내용 읽어보기
1. 원문Why is the size of an empty class not zero?To ensure that the addresses of two different objects will be different. For the same reason, "new" always returns pointers to distinct objects. Consider:class Empty { }; void f() { Empty a, b; if (&a == &b) cout
2015.03.25 -
(토론 과제) #pragma 종류 조사하기
맡은 부분code_seg, comment, component, conform 1. code_seg MSDN 기능 함수가 .obj 파일에 저장되는 텍스트 세그먼트를 지정합니다. 형식 #pragma code_seg( [ [ { push | pop }, ] [ identifier, ] ] [ "segment-name" [, "segment-class" ] ) 인자 설명Push(선택적 요소) 내부 컴파일러 스택에 기록합니다. push에는 identifier 및 segment-name을 가질 수 있다.Pop(선택적 요소) 내부 컴파일러 스택 맨 위에서 기록을 제거한다.identifier(선택적 요소)push와 함께 사용할 때 내부 컴파일러 스택의 레코드에 이름을 할당합니다. pop과 함께 사용할 때 identif..
2015.03.19 -
메모리 풀(Memory Pool)
단편화(Fragmentation)분할된 주기억장치에 프로그램을 할당하고 반납하는 과정을 반복하면서 사용되지 않고남는 기억장치의 빈 공간 조작을 의미한다. 단편화의 종류내부 단편화(Internal Fragmentation)- 분할된 영역이 할당될 프로그램의 크기보다 커서 사용되지 않고 남아 있는 빈 공간.외부 단편화(External Fragmentation)- 분할된 영역이 할당될 프로그램의 크기보다 작아서 할당할 수 없어 모두 빈 공간으로 남아 있는 전체 영역. 단편화 해결 방법통합(Coalescing) 기법- 인접해 있는 단편화된 공간을 하나의 공간으로 통합하는 작업을 의미한다.압축(Compaction) 기법- 주기억장치 내에 분산되어 있는 단편화된 빈 공간을 결합하여 하나의 큰 가용 공간을 만드는 작..
2015.03.18 -
함수와 프로시저 정리
1, 함수란?인자를 전달받아 이를 처리하여 값을 리턴하는 것.목적에 따라 프로시져를 수행하여 원하는 값을 도출해내는 구성단위 중 하나. 2. 함수와 프로시저프로시저는 주어진 절차를 수행하는 것이 목적이다.함수는 주어진 문제나 목적을 해결하기 위해 최선의 결과(리턴 값)을 도출해내는 것이 목적이다. 3. 함수 설계의 원칙- 함수의 이름을 최대한 설명적으로 작성하여 이름만으로도 무엇을 하는 함수인지 알아야 한다.- 두번 이상 중복된 코드는 반드시 함수로 분리한다.- 반복되지 않더라도 한 단위로 볼 수 있는 작업은 함수로 만든다.- 함수는 한 번에 하나의 작업만 해야한다.- 입력과 출력이 명확해야 한다.- 함수는 자체적으로 에러처리를 해야한다.
2015.03.13