-
비트연산자, 함수포인터, ctime@ 16. 1 ~ 17. 1/C++ 2013. 1. 27. 02:02
비트연산자
이항연산자를 이용하여(변수에 대입한 정수도 가능하다.) 하면된다.
반드시 정수여야 한다. 실수는 안된다!
예)
int num1 = 2 // 0000 0000 0000 0010
int num2 = 6 // 0000 0000 0000 0110
이렇게 있으면 비트연산자를 이용하여
& 이것은..곱하기로 생각하면된다 !
난 쉽게 이해하려 ...없다 그냥 곱하기로 이해했다..ㅠ
0000 0000 0000 0010
& 0000 0000 0000 0110
----------------------
0000 0000 0000 0010
이렇게 된다는 것!
| 이것은 음..더하기의 + 세로 모양하고 같아서 이걸보면 더하는거야..라고 이해함..:) 좀 더 쉽게 이해되었음
근데 1+1 도 1이라는거..;
0000 0000 0000 0010
| 0000 0000 0000 0110
----------------------
0000 0000 0000 0110
이렇게 된다는 것!
그럼 ^ 이거와 ~ 이것은..?
^ 이것은 - 빼기가 구부러진 모양이라고 이해함..:) 본인은 쉽게 이해됨;
1-1 빼면..0이고..1 - 0뺴면..다시 1이고..
근데 0 - 1 도..1이라는거 부호가 없는걸로...ㅎ
0000 0000 0000 0010
^ 0000 0000 0000 0110
----------------------
0000 0000 0000 0100
~ 이것은 1을 0으로 0을 1로..
함수포인터란..
함수를 가르킬수 있는 포인터라는거..
어떤 모양이냐면..
이런 함수가 있다 하면..
int Func(int num) {}
반환값과 매개변수가 저렇게 있다면..
int (*Funcptr) (int num);
이렇게 변수를 선언할 수 있다는것..
위에 것은 이상해보여도 변수임..함수를 가르킬수 있는 함수포인터 변수
반환형과 매개변수는 같게 표현하고.. 안에(* 변수명)으로 해주면됨..
예)
double Func(double num1) {} 이것은??
double (*asdfsd) (double num3); 이것으로 가르킬수 있다는 것..
이때 매개변수는 형만 나타내도 된다는것..
int (*Func) (int) 이렇게..
자 그럼 어떻게 사용하냐면....일반 포인터 변수와 같다.
void Showdata() {}
void (*Funcptr) ();
Funcptr=Showdata;
Funcptr();
함수 이름 자체가 주소를 나타내기 때문에..&이런건 생략해도됨.
이건 기억이 안나서 정리..
미친..clock_t curtime;시!
curtime = clock(); 할때! 그 당시 시간넣는다느.ㄴ..ㅠㅠ 멍청한 소리를 하고 있네...
시간이 계속 올라가는게 아니아ㅓㅁㅇ라ㅣㅓㄴ마ㅣㅇㄹ 으악!!
'@ 16. 1 ~ 17. 1 > C++' 카테고리의 다른 글
Template (2) 클래스 템플릿 (0) 2013.01.29 Template (1) 함수 템플릿 (0) 2013.01.29 잊기전 정리.. (1) 2013.01.17 파일 입출력 관련 (0) 2013.01.13 복사생성자의 호출시점 (0) 2013.01.01