void swap (void *x, void *y) {
*x = *x ^ *y;
*y = *x ^ *y;
*x = *x ^ *y;
}
책에 이렇게 swap 하는 거 나와 있어서 (책에서는 int)
void *로 바꿔도 동작할 줄 알았는데 에러 뜨길래 실망함
그냥 bit array로 보면 bit 연산 할 수 있는 거 아닌가
혹시 모르니 한 번 더 돌려보고 오겠음
void swap (void *x, void *y) {
*x = *x ^ *y;
*y = *x ^ *y;
*x = *x ^ *y;
}
책에 이렇게 swap 하는 거 나와 있어서 (책에서는 int)
void *로 바꿔도 동작할 줄 알았는데 에러 뜨길래 실망함
그냥 bit array로 보면 bit 연산 할 수 있는 거 아닌가
혹시 모르니 한 번 더 돌려보고 오겠음
역참조했을때 자료형의 크기를 알수없기때문
접근할 크기를 모르는데 ㅋㅋ 어케. void 가 default 1 byte 로 잡혀도 접근 되는게 이상한거지.
그렇게 명료한 해답이
감사합니다
size만 잘 argument로 넘겨주면 작동하게 만들 수 있을 것 같군요
C++을 쓰면 간단하죠
C++도 한 번 제대로 파야 될 것 같긴 한데 우선은 CSAPP 보면서 C랑 어셈블리좀 익숙해지려고 합니다
C++ 쓰는 경우엔 template 사용하면 되는 거 맞죠?
ㅇㅇ template 이면 겜 셋
사실 템플릿도 필요없음 std::swap 쓰면됨 ㅋㅋㅋ - return 0;