C와 C++ 모두에서 돌아가는 소스가 다른 결과를 낼 수 있나요?


C랑 C++은 다른 언어잖아요. 모든 C코드가 C++에서 돌아가지도 않구요

그러면 C랑 C++ 모두 돌아가는 소스 중에 서로 다른 결과를 내는 코드가 있을까요?

전처리기나 type limit 관련된거는 제외하고, 버전따라 다른거라면 어떤 버전에서는 되고 안되는지도 가르쳐주세요!

  • 2016년 01월 05일에 작성됨

조회수 243


1 답변


좋아요
0
싫어요
채택취소하기

다음 코드는 C와 C++모두에서 실행되지만 다른 결과를 냅니다. int i = sizeof('a'); c에서는 4이고 c++에서는 1이에요

또 다른걸로는

#include <stdio.h>

int  sz = 80;

int main(void)
{
    struct sz { char c; };

    int val = sizeof(sz);
    printf("%d\n", val);
    return 0;
}

c에서는 sizeof(int)이고 c++에서는 sizeof(struct sz)입니다.

  • 2016년 01월 05일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close