이 코드를 우선 보면
이해하기 쉬운가? 갑자기 포인터에 DWORD로 형 변환시켜서, 저장한 다음에, 그것을 다시 LPTEST 형으로 다시 변환시켜서 ... 쓴다.
애초에 void* 로 넘겨 버려서 사용한다면, 더 가독성이 좋을텐데 말이다.
Don't C++
1. typedef 로 포인터 장난질을 하지 마라, 오히려 손으로 치는것이 가독성이 더 높을 때가 많더라.
2. 포인터를 굳이 DWORD로 변환시킬 일이 없다면, 절대 하지 마라. 변환 시키는 횟수 만큼 가독성이 뿌여질것이다.
#include <iostream>
using namespace std;
typedef struct
{
unsigned int a;
int b;
int c;
} TEST, *LPTEST;
int main(void)
{
LPTEST test_data;
LPTEST aaa;
aaa = (TEST *)malloc(sizeof(TEST));
aaa->a = 1;
aaa->b = 2;
aaa->c = 3;
DWORD test = (DWORD)aaa;
test_data = (LPTEST)test;
}
이해하기 쉬운가? 갑자기 포인터에 DWORD로 형 변환시켜서, 저장한 다음에, 그것을 다시 LPTEST 형으로 다시 변환시켜서 ... 쓴다.
애초에 void* 로 넘겨 버려서 사용한다면, 더 가독성이 좋을텐데 말이다.
Don't C++
1. typedef 로 포인터 장난질을 하지 마라, 오히려 손으로 치는것이 가독성이 더 높을 때가 많더라.
2. 포인터를 굳이 DWORD로 변환시킬 일이 없다면, 절대 하지 마라. 변환 시키는 횟수 만큼 가독성이 뿌여질것이다.
'연구실 > 파편화된 기록들' 카테고리의 다른 글
1부 1장 기초 영어와 이론 (0) | 2008.07.05 |
---|---|
1부 기초 지식 : 3D 프로그래밍으로의 첫 걸음 (0) | 2008.07.04 |
IT EXPERT 3D 게임 프로그래밍 책 (0) | 2008.07.04 |
for Vs while 의 반복 비용 비교 (1) | 2008.07.03 |
MySQL 명령어 모음집 (1) | 2008.06.14 |
항목 5: 어떠한 추상적 개념에 대한 이해를 놓치지 말라. (0) | 2008.06.07 |
항목 4: static 키워드를 간과하지 말자. (0) | 2008.06.07 |
항목 3: 함수 내부에서 선언된 객체를 참조자로 반환 하지 마라! (0) | 2008.06.07 |
윈도우 NT 기술과 VMS의 관계 (0) | 2008.06.05 |
KLDPConf (0) | 2008.06.05 |
최근댓글