현대 C ++ 패러다임에 대한 최고의 개요? [닫은]


16

저는 8 년에서 10 년 전에 C ++을 광범위하게 작성했습니다. 나는 전문적인 이유로 C #으로 옮겼습니다. 그러나 때때로 나는 다음과 같은 진술을 본다.

"포인터 참조를 여전히 수동으로 추적하고 있다면, 잘못하고있는 것입니다."

또는

"C ++은 RAII와 같은 최신 개념을 사용하고 복구 C 개발자처럼 메모리를 수동으로 할당하지 않는 한 완벽하게 안전합니다."

둘 다 10 년 전에 표준 절차였습니다. 나는 최근에 C ++가 상당히 향상되었음을 보았습니다. 특히 C ++ 0x에는 새로운 기능이있는 것 같습니다. "C / old C ++"프로그래머가 "현대적인"C ++ 패턴과 실습을 따라 잡을 수있는 가장 좋은 리소스는 무엇입니까?


3
그것들은 10 년 전에 표준 절차였습니다. 불행하게도에서 표준 절차를 사용하여 C ++ DEVS의 매우 중요한 부분 아직이 세 가지 년 전은.
DeadMG

7
나는 단일 리소스를 모르지만 현대 C ++은 기본적으로 다음과 같이 나옵니다. (1) 수동 롤 알고리즘 대신 가능한 경우 STL을 광범위하게 사용합니다. (3) 기능 억양 프로그래밍 고차 함수와 함께 펑 / 람다를 사용하여 스타일 및 (4) 템플릿 기반 정적 다형성 통해 런타임 가상 함수 선호 가능할 때마다
샤를 샐비어

답변:


5

그것은 대부분의 다른 것들보다 교육 자료와 더 관련이있을 수 있지만 8-10 년 전에는 언어가 사용되는 방식이 오늘날과 크게 달랐습니다. 오늘날 초점은 템플릿, 유형 안전 및 일반 프로그래밍을 활용하는 데 더 중점을 두었습니다. 이전에는 모든 것에 대한 두려움이 있었고 사람들은 거의 객체 측면에서 C에만 집중했습니다.

교육 자료도 바뀌고 있습니다. 표준 C ++ 시작 책이 printf, scanf 등을 안내하기 전에는 현대적인 접근 방식의 책에서는 거의 볼 수 없습니다.

좋은 책은 빨간 책 중 하나입니다. 뛰어난 C ++, 더욱 뛰어난 C ++, C ++ 템플릿 메타 프로그래밍, 최신 C ++ 디자인, 가속화 된 C ++ ...

현재 작업중인 곳을 보는 것이 좋은 예라고 생각합니다. 나는 현대적인 방식으로 C ++을 사용하여 여기에 왔으며 대부분의 개발자는 내가하고있는 일이나 이유를 모르는 것 같습니다. 예를 들어 연산자 ()를 사용하여 객체 만들기 ... bind ()의 모든 발생에서 지옥을 주석 처리하고 결국 모든 코드를 폐기하라는 지시를 받았습니다. 이니셜 라이저가 무엇을하는지 모르겠다 ... 실제로는 정말 이상하고 힘들었다.


5

제시된 최신 기능에 대한 빠른 감독을 얻기 위해 Herb Sutter의 최근 프레젠테이션 인 "building modern C ++ code : C ++ 기능에 대해 C ++ 기능이 어떻게 발전해 왔는지"를 잘못 보지 않아도 됩니다.

그는 C #보다 왜 언어가 더 나은지에 대해 이야기합니다 (물론 Microsoft는 바지를 정기적으로 갈아 입고 오늘날 C ++ 패션을 입고 있습니다. 그래서 그들은 C #을 과장 시켰습니다. 전에) 그러나 그렇게하면서 그는 모든 좋은 비트 ( '자동'메모리 관리 및 STL 클래스와 같은)를 기술 한 다음 C ++ 0x 표준의 새로운 비트에 대해 이야기합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.