C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[76095] Re: Classic 컴파일러는 보험으로 남겨놓은 구시대의 유물에 불과
빌더(TWx) [builder] 1404 읽음    2021-04-01 14:28
StupidCoder 님이 쓰신 글 :
: https://notepad96.tistory.com/entry/C-2%EC%8C%8D-3%EC%8C%8D-%EA%B0%92-%EB%AC%B6%EA%B8%B0-Pair-Tuple
:
: 의 tuple 예제를 classic compiler로 컴파일 해 보았습니다.
:
: 그런데, [bcc32 Error] File1.cpp(30): E2451 Undefined symbol 'tuple' 에러가 발생 합니다.
:
: 클래식 컴파일러는 tuple 을 지원하지 않나요?




답변:


  auto a = 123;

위 구문이 컴파일 된다고 해서 Classic(Legacy) 컴파일러가 C++11을 지원한다고 헛소리 하는 사람들도 있던데...


아래와 같은 코드를 컴파일 하지 못하면 절대로 C++11을 지원하는 컴파일러가 아닙니다.

class ClassA
{
public:
  void foo() &&
  {
    printf("rvalue reference\n");
  }
  void foo() &
  {
    printf("lvalue reference\n");
  }
};

int main()
{
  ClassA c;
 
  // print lvalue
  c.foo();

  // print rvalue
  ClassA().foo();
}


rvalue 레퍼런스는 C++11에서 가장 크게 일어난 변화로 코드최적화에 중요한 역할을 하게 되는데
엠바 클래식 컴파일러는 C++11 조차도 지원하지 못하는 컴파일러일 뿐이고.

엠바 Classic 컴파일러는 델파이로 컴파일 되어있는 VCL을 사용하기 위한 기능만 갖고있는
30년 전에 나왔던 볼랜드 C++컴파일러와 다를 게 없고...

clang으로 컴파일 할 수 없을 경우를 위해서 보험으로 지금까지 남겨놓고 있는 구시대의 유물에 불과 함.




+ -

관련 글 리스트
76090 tuple 을 사용할수 없나요? StupidCoder 1214 2021/03/30
76095     Re: Classic 컴파일러는 보험으로 남겨놓은 구시대의 유물에 불과 빌더(TWx) 1404 2021/04/01
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.