프로그래밍/지식창고(39)
-
알고리즘, 디자인패턴
알고리즘 유한한 문제를 효율적으로 해결하기위한 절차나 방법의 집합. 디자인패턴 자주 쓰는 설계, 구조상의 문제의 해결을 정리한 패턴의 집합. 알고리즘과 디자인패턴의 차이 알고리즘은 유한한 문제해결의 속도와 효율성에 초점을둔다. 디자인패턴은 라이브러리와 프레임 워크의 상위 개념으로 객체간의 관계를 표현하는데 유용하여 효율적인 설계를 가능하게 해줍니다. 디자인 패턴을 왜 쓰는가? 객체간의 관계를 유연하게 만들어 유지보수가 용이하다. 사용시 주의사항 - 디자인패턴은 외우는 것이 아니라 활용하는 것이다.- 디자인패턴에 프로젝트에 맞추는 것이 아니라프로젝트에 디자인 패턴을 적용하는 방법으로 구현한다.
2015.04.16 -
고정폭 폰트, 가변폭 폰트
개요폰트 중 '체'로 표현된 폰트들은 고정폭 폰트이다.그 외는 가변폭 폰트. 가변폭 폰트 : 굴림, 바탕, 궁서 등고정폭 폰트 : 굴림체, 바탕체, 궁서체 등 차이고정폭 폰트 - 글자들의 간격이 종류와 모양에 관계 없이 항상 일정한 것. 가변폭 폰트- 글자의 종류에 따라 간격이 달라질 수 있다.
2015.04.15 -
자료구조 관련 용어정리
1. 자료구조란?자료를 효율적으로 저장하고 처리할 수 있도록 논리적으로 설계한 구조. 2. 알고리즘어떤 문제를 해결하기 위해 효율적으로 원하는 정보를 도출해내기 위한 방법들의 집합. 3. ADT프로그래밍에서의 추상과 함께 구현과 사용을(구현을 숨긴다) 분리시키기 위해 사용하는 개념.이때 숨겨지는 구현이 자료구조를 위한 것이며 추상 데이터 타입이 된다. 4. 자료구조의 ADT효율적인 자료구조를 위해 추상화를 통한 기능들을 정의하고 연산 복잡도(시간 복잡도, 공간 복잡도)가정의돈 가상의 자료 저장 공간.생각) 이 부분은 조금 애매하긴 하지만. ADT에 대한 개념을 조금 더 명확하게 잡는게 좋다고 생각한다.ADT가 구현을 감추고 기능을 구현한다는 개념이라 했을 때, 단순히 '자료구조의 구현과 기능을 감춘 것'..
2015.04.11 -
[VS] 컴파일 하자마자 cmd창이 사라진다면?
서론처음 VS를 설치했을 때 CMD창이 자꾸 사라지는 현상을 맞이한다.이전 버전에선 기본적으로 win32 응용 프로그램으로 코딩을 많이 했기때문에기본 서브시스템이 콘솔로 되어있기 때문인데.빈 프로젝트로 만들다보면 이 서브시스템 설정이 되어있지 않기 때문에 생기는 문제다. 1번 방법프로젝트 > 속성 > 구성속성 > 링커 > 시스템 > 하위 시스템 > 콘솔 2번 방법프로젝트 생성시 콘솔 응용 프로그램으로 만드시면링커의 하위 시스템이 콘솔로 잡혀져있습니다.
2015.04.06 -
가상 함수 테이블과 가상 포인터 관련 자료
참고: https://isocpp.org/wiki/faq/virtual-functions이 글은 iso c++ 웹페이지의 가상함수 쪽 자주 묻는 질문과 답변란 일부를 옮겨온 것입니다. Q: 가상 멤버 함수와 비가상 멤버 함수가 호출될 때의 차이점은 무엇인가? A:비가상 멤버 함수는 정적으로 결정된다. 이는, 멤버 함수가 정적으로(컴파일시점에) 객체를 가리키고 있는 포인터 (혹은 레퍼런스)의 자료형을 기준으로 선택된다는 뜻이다. 역으로, 가상 멤버 함수는 동적으로(실행 중에) 결정된다. 멤버 함수가 동적으로(실행중에) 객체를 가리키고 있는 포인터/레퍼런스의 자료형이 아니라, 객체 그 자신의 자료형을 기준으로 선택된다는 말이다. 이것이 “동적 바인딩”이다. 대다수컴파일러는 다음과 같은 방식을 자체적으로 사용..
2015.04.02 -
(토론 과제) #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