Language3 malloc? free? new? delete? 다음 코드의 결과를 예측해보세요. ^^ #include #include #include using namespace std; class MyClass { public: char* name; MyClass(void); ~MyClass(void); }; MyClass::MyClass(void) { cout 2007. 9. 8. Age == 17? 17 == Age? 조건문에서 사람들은 보통 상수를 오른쪽에 놓는다. C 코드로 예를 들면 아래와 같다. if(Age == 17) { // 수행될 문장. } ==을 =으로 쓰지 않는 한 아무 문제 없는 식이다. 아래와 같은 경우를 생각해보자. if(Age = 17) { // 수행될 문장 } 이 역시, 멍청한 컴파일러에게는 아무 문제 없는 식이다.(똑똑한 최신 컴파일러 if 문 안이 무언가 잘못 되었다고 생각하고 자기 의견을 알려준다.) 문제는 우리가 항상 똑똑한 컴파일러를 쓴다는게 아니다. 이런 실수를 줄일려면, 간단한 습관하나만 바꾸면 된다. 상수를 왼쪽에 써보아라. if(17 == Age) { // 수행될 문장. } 아무 문제 없이 잘 작동한다. if(17 = Age) { // 수행될 문장. } 아주 멍청한 컴파일러라도.. 2007. 9. 3. int? long? 오늘은 작은 실수가 프로그램에 큰 오류를 가져오는 경우를 얘기해볼게요. 여러분은 int와 long의 차이점을 아는지요? 아직 int 와 long의 차이점을 모르고 코딩을 하고 있다면, 어쩌면 당신은 아주 위험한 상황에 이르거나, 심각한 오류를 경험하게 될지도 모릅니다. 먼저 int와 long이 어떤 차이를 가지고 있는지 알아본 후, 이 글을 읽어 보세요. 저는 지금 32bit 상위 머신에 32bit 상위 운영체제에 32bit 상위 컴파일러를 쓰고 있습니다. 위와 같은 환경은 저뿐만 아니라 부주의한 프로그래머에게 잠재적인 위험을 가지게 만들었습니다. 어떤 위험인지는 예를 들어서 설명해보겠습니다. 32bit 상위 머신에서 32bit 상위 운영체제에서 32bit 상위 컴파일러에서 만들어진 프로그램이 있습니다... 2007. 9. 3. 이전 1 다음