전부 감상
[펌]typedef으로 새로운 데이터형의 이름을 정의하는 방법
C언어에서는 typedef라는 키워드를 사용하여 기존 데이터형의 이름을 새롭게 부여하는 방법을 제공하고 있습니다. 이번 포스트에서는 typedef을 사용하는 방법을 설명합니다. 이번 포스트의 주요 내용 1. typedef로 새로운 데이터형 이름 정의하기 2. typedef의 장점 typedef로 새로운 데이터형 이름 정의하기 다음과 같은 형식으로 기존 데이터형의 새로운 이름을 정의할 수 있습니다. typedef (기존 데이터형의 이름) (새로운 데이터형의 이름); 예를 들어 int형의 새로운 이름으로 number를 부여하고, 이에 대한 변수를 정의할 수 있습니다. typedef int number; number num; 참고로 기존 이름과 새 이름의 데이터형으로 정의되는 변수들은 100% 호환됩니다. 단..
[펌]헤더파일 중복방지 #pragma once vs #ifndef~#endif
헤더파일 중복컴파일 방지를 위해 쓰이는 지시자에는 두 가지 종류가 있다. 바로 #pragma once 와 #ifndef~#endif 이다. 그렇다면 과연 이 두 개의 지시자의 차이는 무엇일까? 간단한 예제를 통해 알아보겠다. 1. #ifndef ~ #endif First.h #ifndef __First_h_ #define __First_h_ class First { ......생략...... }; #endif Second.h #ifndef __Second_h_ #define __Second_h_ #include "First.h" class Second { ......생략...... }; #endif Main.cpp #include "First.h" #include "Second.h" void main()..
[펌]전처리기, 컴파일러, 어셈블러, 링커의 역할
컴퓨터는0과 1로 이루어진 이진코드(바이너리 코드)만 이해 할 수 있습니다. 따라서 C/C++언어로 컴퓨터에게 명령을 내릴 때에는 C/C++언어를 이진코드(기계어)로 번역하는 과정이 필요합니다. ▼ 소스 코드가 실행 파일이 되기까지의 과정 전처리기 #으로 시작하는 지시자에 따라 실행파일 생성에서 가장 먼저 실행됩니다.소스 코드의 주석 제거, define 치환 등. 컴파일러전처리기를 거친 소스 코드는 컴파일러에 의해서 어셈블리 코드로 변환됩니다.어셈블리 코드는 CPU 명령어 조합입니다. (어셈블리어는 CPU에 의존적) 어셈블러컴파일러를 거친 어셈블리 코드는 어셈블러에 의해서 오브젝트 코드로 변환됩니다.오브젝트 코드는 0과 1로 구성된 이진 코드이며, 주소 정보는 확정되지 않은 상태입니다. 링커어셈블러를 거..
[펌]Function
Functor C++에서는 객체를 마치 함수처럼 사용 가능한 펑터가 존재한다. 펑터는 다른 말로 함수객체, 함수자, 펑션옵젝트등 많은 이름이 존재한다.(하지만 결국 다 같은말) 쉽게 생각해서 C의 함수포인터를 class의 형태로 써먹는다고 생각하면 될것 같다. 이전 스마트포인터 처럼 함수를 객체로 랩퍼 했다고 생각하면 편할것 같다. 일단 소스를 보자 #include #define MAX 10 struct Rule { // Fucntor bool operator()(int x, int y) const { return (x > y) ? true : false } }; 객체를 가지고 함수처럼 작동 시킨다고 했는데 웬 구조체가 등장했다. 한가지 짚고 넘어가야 할 것은 C++에서는 class나 struct 나 1..
delete 후에 NULL 집어넣기
CClass *cls = new CClass; delete cls; cls = NULL; delete후엔 반드시 NULL을 집어넣는다.NULL을 집어넣지 않으면 해당 주소에 쓰레기값이 들어있어서 엉뚱한 곳이 참조될 수 있으므로디버그시에 굉장히 힘들어 질 수 있다.
복사생성자 정리
#include "stdafx.h" #include class Mae{ private : char* myName; int age; public: Mae(){ std::cout
IKManager.getArmatureByName 사용하기
역기구학 : 뼈와 관절구조를 사용하여 객체나 객체집합이 서로 유기적으로 움직이도록 애니메이션 처리하는 방법. 역기구학에 흥미를 느껴 플래시로 역기구학(fl.ik 패키지)을 테스트해 보았다.하지만 처음부터 막혔다. 툴 상자에서 Bone Tool(뼈 모양 툴)을 사용하여 IK Armature를 만들었다. 그리고 Armature객체를 참조하기 위하여 IKManager.getArmatureByName()를 사용하였다.import fl.ik.*; var tree:IKArmature = IKManager.getArmatureByName("ArmatureTest"); trace(tree); //null분명 fla상에는 IK Armature이름이 "ArmatureTest"로 잘 되어있다.하지만 곧 죽어도 null이다...
초보 개발자를 위한 비주얼 C++ MFC 입문
비주얼 C++ MFC 입문저자성윤정 지음출판사대림 | 2008-05-15 출간카테고리컴퓨터/IT책소개쉽게 이해하고 따라할 수 있는 MFC 입문서! 『비주얼 C++...글쓴이 평점 뭔가 딱딱해 보이지 않고 빨리빨리 진도가 나갈 것 같아서 선택하게 된 책. 예제 위주의 책이라 예제 잘 따라하면서 왜 이 코드를 넣었는지 잘 생각하면서 보았다. Visual Studio2010으로 예제를 따라해 보았는데 책이 약간 옛날꺼라 안맞는 소스들이 있긴하지만 보는데 별 무리는 없다. 입문자로써 쉬엄쉬엄 따라하면서 MFC에 친근해지기 좋다. 간간히 있는 오타가 책의 질을 떨어뜨리는 느낌과 마지막에 채팅 프로그램의 예제를 쓰다 말으셨는지 실행이 제대로 안되는게 아쉽다.