C++를 배우려고 하는데 책 선택에 조언을 구합니다.

superkkt의 이미지

현재 C 초급 프로그래머로 근무하고 있습니다. 개인적으로도 C++을 배우고 싶었고 회사에서 진행하는 업무에도 객체지향 언어를 배워야할 필요성을 느껴서 지금부터 공부를 해보려고 합니다.

현재 제 수준은 C++ 문법은 전혀 모르고 객체에 대한 개념이 없는 상태입니다. 객체라하면 C에서 모듈화된 프로그래밍을 할때 사용하는 모듈이 언어 자체에서 지원하는 기능등을 사용해서 확장된 형태가 아닐까하고 생각하는 정도입니다. 맞는지 틀린지는 모르겠지만..^^

검색을 해보니 아래 3권의 책이 유명하고 서평이 좋더군요.

Accelerated C++
Effective C++
The C++ Programming Language

그런데 3권 모두 서평에 C++ 문법을 전혀 모르는 사람은 추천하지 않는다고 적혀있네요. 저도 C를 배울때 어느정도 기본적인 내용을 알고나서 TCPL이나 C언어 펀더멘탈 등의 책을 읽었는데 참 좋은 책이라고 생각했지만 아무것도 모르는 상태에서 봤다면 이해하기 어려웠을거라고 느꼈습니다. 아마도 위 3권의 책이 이런 종류의 서적이 아닐까 싶은데요..

일단 시간 나는대로 서점에 가서 직접 보려고 하는데 그 전에 여러 고수님들의 조언을 듣고 싶습니다. 지금 제 상태에서는 어떤 책이 적합할까요? 위 3권 모두가 부적절 하다면 다른 책을 추천해 주셔도 좋습니다.

여러분들의 많은 조언 부탁드립니다.

욱성군의 이미지

Effective C++는 C++를 좀더 유용하게 사용하는 방법에 대한 책이지 문법을 배우기 위한 책은 아닌 것 같습니다.
문법을 배우기 원하신다면 Accelerated C++가 좋은 것 같습니다. 저도 봤었는데 C를 아시는 상황에서 C++를 배우기에는 이 책이 가장 적당한 것 같습니다.

pool007의 이미지

일단 C를 안다고 가정하고,
Stanley Lippman의 C++ Primer를 추천합니다.

이 책을 보신 뒤 Acclerated C++을 보세요.
Acclerated C++ 자체는 C++ 문법 자체에 대해
상세하게 다루는 편이 아닙니다. 그래서 제 생각엔
C++ 기본서를 한번 보고 나서 보는게 좋지 않나
생각합니다.

Effective C++이나 TCPL 은 나중에 보셔도 됩니다.

그리고 OOP의 개념은 이런 언어 서적보다는 오히려
Refactoring이나 GoF의 Design Patterns에서 배우는 것이
더 많습니다. 그러나 GoF의 책을 보시고, Refactoring을 보세요.
단, Refactoring을 보시려면 자바의 문법을 또 아셔야합니다..

--
Passion is like genius; a miracle.

--
Passion is like genius; a miracle.

jiee의 이미지

제 경우 C에서 C++로 넘어갈 때, 핵심 내용만 간결하게 써 놓은 Essential C++(C++ Primer동일 저자)를 한 번 보고 다른 책으로 넘어가니 보다 빠르게 C++에 접근할 수 있었습니다.

덧붙여서, winapi.co.kr의 c++강좌는 정말 좋습니다. : )

토나오게...

BeEye의 이미지

열혈강의 C++ 같은 책은 어떨까요?

동영상 강의도 제공되고 얇아서 금방 봅니다.
얇다고 해서 내용이 부실한건 아니구요. 있을껀 다 있습니다.

이걸로 먼저 시작하시고 언급하신 다른 책을 보시는게 훨씬 도움이 되실껍니다.

+------------------------------------+
|항상 행복하고 싶은 평범한 지구인.|
+------------------------------------+

+------------------------------------+
|항상 행복하고 싶은 평범한 지구인.|
+------------------------------------+

superkkt의 이미지

Accelerated C++로 주문했습니다. 읽고나서 다른 책들도 차근차근 읽어봐야죠. 답글주신 분들 모두 감사합니다.

======================
BLOG : http://superkkt.com

======================
BLOG : http://superkkt.com

only2sea의 이미지

어차피 주문하셨지만 저는 The C++ Programming Language가 좋더군요. 근데 좀 두껍습니다. Essential C++ 같은 책은 간결하다는 느낌인데 이건 시간도 좀 많이 걸릴 겁니다. 저는 이런 류의 책을 좋아하기 때문에, 몇 번 통독했습니다. 몇 가지는 현재 컴파일러에서 구현 안 되어서 실망하기도 하고 그랬죠.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.