temp 변수 없이 swap 하기
              
          2019. 10. 16. 22:57ㆍPL/C++
XOR 연산의 의미를 깊게 바라볼 필요가 있다
1. 0과 연산하면 자기 자신이, 1과 연산하면 비트가 반전된다
2. 교환, 결합 법칙이 성립된다
#include <iostream>
using namespace std;
void swap(int* a, int* b) {
	*a = *a ^ *b;
	*b = *a ^ *b;
	*a = *a ^ *b;
}
int main(void) {
	int a = 100, b = 5;
	cout << a << ' ' << b << '\n';
	swap(&a, &b);
	cout << a << ' ' << b << '\n';
	return 0;
}'PL > C++' 카테고리의 다른 글
| __cplusplus 매크로 의미 (0) | 2019.10.19 | 
|---|---|
| virtual 키워드를 사용해야 하는 이유 (0) | 2019.10.17 | 
| C6011: NULL 포인터 'var'을 역참조하고 있습니다 에러 해결 (0) | 2019.10.12 | 
| extern "C" 의미 (0) | 2019.10.06 | 
| 윈도우에서 MySQL 원격 연결 (0) | 2019.09.09 |