본문 바로가기

C/C++6

C 언어 레퍼런스 - localtime 함수 링크 : http://itguru.tistory.com/120 localtime #include // C++ 에서는 struct tm * localtime ( const time_t * timer ); time_t 값을 이용하여 지역 시간을 기준으로 tm 구조체를 초기화한다. timer 가 가리키는 time_t 형 변수의 값을 이용하여 tm 구조체의 멤버들을 초기화 한 뒤 이를 가리키는 포인터를 리턴한다. 참고적으로 현재 시간을 구해와야 하는 경우 십중 팔구 이 함수를 사용하게 된다. 현재 시각을 구해오는 가장 간단한 방법 time_t rawtime; struct tm * timeinfo; time ( &rawtime ); timeinfo = localtime ( &rawtime ); 를 통해 timei.. 2011. 10. 13.
[C++] 상속 두번째, 세가지 형태의 상속 (private, protected, public) 링크 : http://pacs.tistory.com/24 다음과 같이 상속(Inheritance)의 경우를 보자 view plaincopy to clipboardprint? class A : public B { }; class A : public B { }; B클래스를 public으로 상속하겠다는 의미로 우리들이 일반적으로 많이 사용하는 class A : [상속형태] B 형태를 가지고 있다. 기본적으로 기본 클래스는 파생 클래스에 의해 상속되어지는 과정에서 접근 권한이 변경이 된다. 그 상속 형태에 따라 멤버들을 상속하는데 있어서 접근권한을 무엇으로 변경할 것이냐 하는 얘기이다. 아래는 기본 클래스와 상속의 형태에 따른 파생클래스에서의 기본클래스로의 접근범위를 표로 나타낸것이다. 일반적으로 public을.. 2011. 3. 3.
Unicode 와 ANSI 문자의 변환을 해주는 매크로 링크 : http://blog.naver.com/bc8c/61528989 f vs 2005로 넘어오면서 부터 msvs는 unicode를 기본으로 사용 하는 듯 하다. 해서 속성 값을 멀티바이트 문자열로 바꿔주어야 하는데, 윈도우 프로그래밍을 하면서 앞으로 미래를 생각한다면 unicode로 프로그래밍 하는 것이 좋다. 제프리 리처가 쓴 windows via c/c++의 초반부에 이러한 이유로 unicode를 사용하여 프로그램 하라고 나오는데, 당장은 ANSI와 unicode의 변화가 완전하게 이루어 지지 않았다. 따라서 상황에 따라 알아서 함수들을 사용하게 해주는 매크로를 정의한 헤더가 바로 tchar.h 이다. 이 헤더파일을 include 해주면 unicode와 ANSI 문자열에 관한 함수들을 사용 할 .. 2010. 12. 11.
가변인자 사용하기 가변인자란? 이름 그대로 "변화가 가능한 인자"라는 뜻입니다. 인자는 함수에 전달하는 값이며, 매개변수라고도 불립니다. 가변인자를 사용한 함수의 예를 보자면, 처음 C를 입문하게 되면 printf()함수를 사용하여 "Hello, World!" 부터 시작하게 됩니다. 이 printf() 함수가 가변인자를 사용한 함수입니다. 또한 scanf() 함수 또한 마찬가지 입니다. t가변인자를 쉽게 사용하기 위해 제공되는 매크로가 있습니다. va_list args; va_start(ap, v) va_arg(ap, t) va_end(ap) 만약 이 매크로를 사용하지 않으면 그와 같이 동작하는 코드를 구현해야겠죠? 한번 해보시는것도 좋겠지만, 어렵게 길을 돌아갈 필요는 없을 듯합니다. 그리고 va_list는 char* .. 2010. 11. 12.
const 위치에 따른 동작 C++ 언어에서 const는 "constant"의 약자로 "변함없는" 이라는 뜻을 가지고 있습니다. 즉, const는 변수를 상수화 시킬 때 사용되어 지고, C++에서 제공하는 키워드 입니다. 아래 소스코드는 const의 위치에 따른 동작에 대해서 설명하고 있습니다. class의 맴버함수에서 모든 위치에 const를 사용한 예로 보자면, const char* Function( const char* const szMessage) const 와 같을 수 있습니다. 왼쪽의 const부터 본다면, 첫번째 const는 반환값에 대한 상수화입니다. 값을 반환 받으려면, 꼭 const 타입으로 받아야 한다는 것으로 사용 범위를 제한 하는 것입니다. 두번째 const는 해당 포인터가 가르키는 대상을 상수화하는 것입니다.. 2010. 11. 12.
함수 포인터 함수 포인터는 함수를 가르키는 포인터입니다. 즉, 함수의 주소를 저장하는 포인터 변수 입니다. 함수 포인터를 선언 할 때는 반환 타입이 무엇인지.. 어떤 매개변수를 갖는 함수인지를 나타내어 선언 합니다. 만약 void Print(char* szMessage) 라는 함수를 가르키기 위해서는 void (*pFunc)(char*) 로 선언하게 되고, pFunc라는 변수를 사용하여 반환 타입이 void이고, 매개변수로는 char*를 갖는 함수의 주소를 저장 할 수 있습니다. - 소스 코드 #include void Print(char* szMessage) { printf("%s\n", szMessage); } int main(int argc, char* argv[]) { void (*pfunc)(char*); p.. 2010. 11. 11.