2011-03-17 3 views
0

JS에서 C++로 전환 할 때 어떤 문제가 있습니까?JS에서 C++로 전환 할 때 어떤 문제가 있습니까?

+1

문제? 혼란을 의미합니까? –

+13

목록에 너무 많아서 문제가 지구에서 화성으로 이동하는 것을 기대하는 것과 같을 것입니다. 확실히 그들은 둘 다 구체이고 태양 주위를 돌고 있습니다.하지만 그것은 유사성이 멈추는 곳입니다. – Myles

+1

Java에서 C++로 변환한다는 의미가 있습니까? – Tejs

답변

4

C++은 Javascript와 엄청나게 다릅니다. 몇 가지 주요 차이점 :

  • 정적 타이핑 (변수의 일반적 유형, 대부분의 유형은 컴파일 타임에 알려진 지정)
  • 낮은 수준의 메모리 관리 (당신이 할당하고 많이 확보해야합니다 그래서 GC 없다
  • 다른 오브젝트 시스템 : C++은 클래스 기반이지만 Javascript는 프로토 타입 기반입니다. 당신은 또한 이것이 수반하는 모든 것을 배워야 할 것입니다. 액세스 한정자, 클래스 기반 상속
  • JS보다 안전하지 않습니다. C++은 Javascript처럼 손을 잡아주지 못합니다. 적절한 양의 메모리를 할당하지 않거나 범위를 벗어난 배열 인덱스에 액세스하려고하면 프로그램이 중단됩니다 (그리고 중요한 프로그램의 보안 결함도 포함)
  • 템플릿과 그와 함께 제공되는 모든 항목은 HTML과 DOM 대신 파일을 다루기 때문에 분명히 다르다. 분명히 I/O는 다르다.

분명히 약간의 차이가 있습니다. 실행하기 전에 프로그램을 컴파일하고 링크해야합니다. 또한 새로운 표준 라이브러리를 배워야합니다.

this 재미 있습니다.

1

자바 스크립트는 웹에서 주 응용 프로그램이라는 것을 발견 한 매우 수준 높은 언어입니다. C++은 JavaScript에 비해 매우 낮은 수준의 언어입니다. 주된 차이점 (고통스러운 차이점)은 C++에 가비지 컬렉터가 없다는 것입니다. 메모리를 손으로 할당하고 해제해야합니다.

+1

"주요"차이점. 절차 적이며 OOP의 다른 맛을 잊지 마십시오. 또한 포인터, 템플릿 및 stl이 꽤 큽니다. – Raynos

+0

메모리 할당 기능이 주된 차이라고 생각하면 심각한 포인터 사용을 한 번도 다뤄 본 적이 없다고 생각됩니다. –

+0

좋아, 나는 막연했다. 내 대답에 포인터를 암시하려고했지만 필자는 쓰지 않았다. – Marcelo

관련 문제