얼마나 아시겠나요 ? 후후후.
GameHi Myskit 팀의 컴공 99 김연추 씨께서 출제한 문제입니다.
다 알겠으면 당신의 내공을 자랑하셔도 될겁니다. !!
=-=-=
GameHi Myskit 팀의 컴공 99 김연추 씨께서 출제한 문제입니다.
다 알겠으면 당신의 내공을 자랑하셔도 될겁니다. !!
=-=-=
// (l-value & r-value) & operator & operator overloading
//postfix increment operator 와 prefix increent operator 에는 근본적인 차이가 있다.
{
int i = 0;
printf(“%d\n” , i++); //1
i++++; //2
++++i; //3
};
1. 1에서의 진행과정을 자세히 설명해보라. i는 printf 가 호출된 이후 증가 하는가 아니면 printf가 호출 되기 전에 증가하는가?
2. l-value 와 r-value 는 무엇인가?
3. 2과 3중에 한가지는 컴파일이 안된다. 이유는?
4. postfix increment operator 는 prefix increment operator 보다 느리기 쉽다. 이유는?
5. operator overloading 혹은 function overloading 이란 무엇인가?
6. overloading 된 postfix increment operator 와 prefix increment operator 를 작성하려고 한다. 그 둘을 어떻게 구별할 수 있는가? (둘은 이름이 operator++ 로 같다는 사실을 주의하자)
//linking
header.h
//postfix increment operator 와 prefix increent operator 에는 근본적인 차이가 있다.
{
int i = 0;
printf(“%d\n” , i++); //1
i++++; //2
++++i; //3
};
1. 1에서의 진행과정을 자세히 설명해보라. i는 printf 가 호출된 이후 증가 하는가 아니면 printf가 호출 되기 전에 증가하는가?
2. l-value 와 r-value 는 무엇인가?
3. 2과 3중에 한가지는 컴파일이 안된다. 이유는?
4. postfix increment operator 는 prefix increment operator 보다 느리기 쉽다. 이유는?
5. operator overloading 혹은 function overloading 이란 무엇인가?
6. overloading 된 postfix increment operator 와 prefix increment operator 를 작성하려고 한다. 그 둘을 어떻게 구별할 수 있는가? (둘은 이름이 operator++ 로 같다는 사실을 주의하자)
//linking
header.h
int variable = 0; |
a.c
#include “header.h”
void A() { printf(“%0x\n” , &variable); } |
b.c
#include “header.h”
void B() { printf(“%0x\n” , &variable); } |
1.linking 이란 무엇인가?
2.위 코드를 컴파일한면 link 시에 error가 발생할 것이다. 어떤 에러가 발생하고 이유는 무엇인가?
3.Header.h 의 내용을
const int variable = 0; 이나
static int variable = 0; 으로 바꿨을때는 어떻게 달라지는가? 이유는 무엇인가?
4.const int WINDOW_X = 100; 과 같은 것을 헤더에 쓰는 경우는 매우 일반적이다. 이 코드가 컴파일시 최적화 되지 않는다면 어떤 문제가 생길 수 있는가?
5.일반적으로 이 코드는 최적화 과정을 거치기 때문에 그러한 문제가 생기지 않는다. 이 경우 #define 을 사용하는 것에 비해 장점은 무엇인가?
//type
1. char , short , int, 의 최대값은 각각 얼마인가. unsigned 의 경우에는 어떻게 되는가? 그 이유는?
2. float , double 의 최대값 최소값 , 유효숫자는 대략 얼마인가?
3. {
int i ;
float f ;
i = f = 1,999,999,999
}
위 코드를 실행하면 i 와 f 의 값은 어떻게 될까?
4. 타입별로 최대값을 얻거나 정의 하는 가장 좋은 방법은 무엇이라고 생각 하는가?
// inheritance , access control , virtual function , RTTI
1. public , protected , private 는 각각 무엇인가.
2. constructor 를 private으로 선언 하는 경우가 있다. 어떤 용도가 있을까?
3. virtual function 은 어떻게 구현 되는가. RTTI 란 무엇인가.
4. virtual function 을 갖는 class 와 그렇지 않은 class 의 크기를 비교하라. 다르다면 그 이유는 무엇인가?
5. overriding 이란 무엇인가?
6. virtual function 이 아닌 함수를 overriding 하는 것은 왜 좋지 않은가?
7. static_cast,dynamic_cast,reinterdivt_cast,const_cast 는 각각 무엇이고. C-style casting 에 비해서 좋은점은 무엇인가?
8. virtual function 이 하나도 없는 class는 dynamic_cast 를 할 수 없다. 그 이유는?
//std
1. #include <limits.h> #include <limits>
#include <string.h> #include <string> 는 어떻게 다른가.
//template
1. template 이란 무엇이며 어떤 장점과 단점을 갖는가.
//STL & 자료구조
1. list와 vector 의 차이점은 무엇이며 어떤 경우에 유용한가.
2. random-access iterator 와 bidirectional iterator 는 무엇인가?
3. list 와 vector 의 장점을 모두 살린 자료구조를 만들어야 한다면 어떻게 하면 좋을까?
4. set은 list 보다 random access 가 빠르고 vector 보다는 insert , delete 가 빠른 유용한 자료구조이다. set 의 단점은 어떤 것이 있으며 이것은 어떻게 극복할 수 있을까 ?
5. 전화번호부를 list , vector , set , map 으로 나타내야 한다면 어떤 것이 좋을까? 또한 그것에는 장단점이 있을까?
//Process & Thread
1. Process 와 Thread 의 장단점을 비교해보라.
2. critical section , mutex , event , semaphore 의 차이점을 설명할 수 있는가?
3. critical section 과는 달리 mutex , event , semaphore 에는 windows 전체에서 통용될 수 있는 이름이 있다. 이것이 어떤 의미가 있을까?
4. 예전의 strtok 나 localtime 등의 함수는 thread-safe 하지 않았다. 왜 그런가?
5. process 간 동기화가 필요하다는 것은 process간에 공유되는 자원이 있다는 것을 의미한다. 어떠한 자원들이 프로세스간에 공유될 수 있는가?
//DLL & Library
1. DLL 이란 무엇인가. import library 란 무엇인가.
static/dynamic link 와 static/dynamic load 는 각각 무엇인가?
2. 게임 클라이언트를 배포함에 있어서 특정 DLL을 사용하는 실행파일이 하나밖에 없는 경우에도 DLL을 배포 하는 것은 장점을 가질 수 있다. 어떤 장점을 가질 수 있겠는가?
2.위 코드를 컴파일한면 link 시에 error가 발생할 것이다. 어떤 에러가 발생하고 이유는 무엇인가?
3.Header.h 의 내용을
const int variable = 0; 이나
static int variable = 0; 으로 바꿨을때는 어떻게 달라지는가? 이유는 무엇인가?
4.const int WINDOW_X = 100; 과 같은 것을 헤더에 쓰는 경우는 매우 일반적이다. 이 코드가 컴파일시 최적화 되지 않는다면 어떤 문제가 생길 수 있는가?
5.일반적으로 이 코드는 최적화 과정을 거치기 때문에 그러한 문제가 생기지 않는다. 이 경우 #define 을 사용하는 것에 비해 장점은 무엇인가?
//type
1. char , short , int, 의 최대값은 각각 얼마인가. unsigned 의 경우에는 어떻게 되는가? 그 이유는?
2. float , double 의 최대값 최소값 , 유효숫자는 대략 얼마인가?
3. {
int i ;
float f ;
i = f = 1,999,999,999
}
위 코드를 실행하면 i 와 f 의 값은 어떻게 될까?
4. 타입별로 최대값을 얻거나 정의 하는 가장 좋은 방법은 무엇이라고 생각 하는가?
// inheritance , access control , virtual function , RTTI
1. public , protected , private 는 각각 무엇인가.
2. constructor 를 private으로 선언 하는 경우가 있다. 어떤 용도가 있을까?
3. virtual function 은 어떻게 구현 되는가. RTTI 란 무엇인가.
4. virtual function 을 갖는 class 와 그렇지 않은 class 의 크기를 비교하라. 다르다면 그 이유는 무엇인가?
5. overriding 이란 무엇인가?
6. virtual function 이 아닌 함수를 overriding 하는 것은 왜 좋지 않은가?
7. static_cast,dynamic_cast,reinterdivt_cast,const_cast 는 각각 무엇이고. C-style casting 에 비해서 좋은점은 무엇인가?
8. virtual function 이 하나도 없는 class는 dynamic_cast 를 할 수 없다. 그 이유는?
//std
1. #include <limits.h> #include <limits>
#include <string.h> #include <string> 는 어떻게 다른가.
//template
1. template 이란 무엇이며 어떤 장점과 단점을 갖는가.
//STL & 자료구조
1. list와 vector 의 차이점은 무엇이며 어떤 경우에 유용한가.
2. random-access iterator 와 bidirectional iterator 는 무엇인가?
3. list 와 vector 의 장점을 모두 살린 자료구조를 만들어야 한다면 어떻게 하면 좋을까?
4. set은 list 보다 random access 가 빠르고 vector 보다는 insert , delete 가 빠른 유용한 자료구조이다. set 의 단점은 어떤 것이 있으며 이것은 어떻게 극복할 수 있을까 ?
5. 전화번호부를 list , vector , set , map 으로 나타내야 한다면 어떤 것이 좋을까? 또한 그것에는 장단점이 있을까?
//Process & Thread
1. Process 와 Thread 의 장단점을 비교해보라.
2. critical section , mutex , event , semaphore 의 차이점을 설명할 수 있는가?
3. critical section 과는 달리 mutex , event , semaphore 에는 windows 전체에서 통용될 수 있는 이름이 있다. 이것이 어떤 의미가 있을까?
4. 예전의 strtok 나 localtime 등의 함수는 thread-safe 하지 않았다. 왜 그런가?
5. process 간 동기화가 필요하다는 것은 process간에 공유되는 자원이 있다는 것을 의미한다. 어떠한 자원들이 프로세스간에 공유될 수 있는가?
//DLL & Library
1. DLL 이란 무엇인가. import library 란 무엇인가.
static/dynamic link 와 static/dynamic load 는 각각 무엇인가?
2. 게임 클라이언트를 배포함에 있어서 특정 DLL을 사용하는 실행파일이 하나밖에 없는 경우에도 DLL을 배포 하는 것은 장점을 가질 수 있다. 어떤 장점을 가질 수 있겠는가?
'프로그래밍 > C++' 카테고리의 다른 글
My C++ Tips (4) | 2009.02.18 |
---|---|
STL에 대한 단상 (4) | 2008.01.29 |
임시변수의 범위는 어디까지일까요 (2) | 2007.07.13 |
ANSI와 UTF-8과의 상호 변환 (9) | 2007.05.04 |
스트림에서 스트림으로 전송하기 (0) | 2007.03.15 |