C++ STL 초보자가 볼만한 STL 책좀 추천해주세요~

greathero의 이미지

몇개의 책들 목차를 훑어봤는데 대부분 난해해보이네요.
그나마 쉽게 공부할 수 있는 STL 책 있을까요?

이펙티브 STL은 초보자용은 아니라고 하고
STL 튜토리얼·레퍼런스 가이드 제2판은 레퍼런스가 되다 만것같다고 하고
일반적 프로그래밍과 STL도 초보자용은 아니라고 하니...

으어ㅠㅠ

klyx의 이미지

이도저도 어렵다고 하시면, C++입문용인 Accelerated C++을 추천합니다.

익명 사용자의 이미지

그러면 질문을 조금 바꿔서...
위의 세가지 책중에선 STL 초보자가 보기엔 뭐가 제일 나을까요?

greathero의 이미지

바로 위의 댓글 제가 쓴겁니다~ ㅎㅎ;;;

klyx의 이미지

서점가서 한번 읽어보고 필요하면 사세요. C->C++ 순서로 가르치는 입문서가 아니라 처음부터 std::string 과 STL 컨테이너들을 이용한 프로그래밍을 가르칩니다.

oosap의 이미지

http://cppstdlib.com/
에 보니 The C++ Standard Library - A Tutorial and Reference 제2판이 나왔다는 걸 알 수 있었습니다. 1판에 대해서는 괜찮았다고 말씀드릴 수 있겠습니다만, 이제 1판은 옛날 책이 되어버렸습니다. (위에서 얘기하신 2판은 다른 책이군요.. 그래서 답글을 정정합니다.)

번역판이 아직 없는 상황에서 원서를 술술 읽을 수 있지 않다면 위 책 1판을 보면서 최신 표준과 상이한 점을 감안해야 할 것 같네요... 최신 표준의 새로운 점은 아래와 같은 위키사이트가 잘 알려주고 있어서 좋습니다. 원서를 술술 볼 수 있다면 가장 좋겠지만요..

http://en.cppreference.com/w/Main_Page
C++11 에서는 정말 많은 것이 새로 추가되었고 auto_ptr 같은 것은 이제 deprecated 가 되어버렸더군요... cppreference 를 보면 이런게 한눈에 들어와서 좋은 것 같습니다.

다른 더 좋은 책이 있는지도 알아보세요. 저도 그렇게 책을 많이 찾아 읽은 것은 아니랍니다..

그런데 예전 책을 본다는 것이 참 그런게 C++11에서 새로 추가된 내용이 정말 많다는 것입니다.
위키 사이트를 살펴보면 정말 새로운 내용이 많습니다. auto 라는 specifier 도 저는 깜짝 놀라게 되는군요..

---------------

여기까지 전에 썼었는데요, 제가 C++11 에 대해서 잘 모르고 있었다고 생각되어 다시 첨언하려 합니다.

http://gcc.gnu.org/projects/cxx0x.html

http://msdn.microsoft.com/en-us/library/vstudio/hh567368.aspx

http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.200x

를 보면 g++ 이나 VC++ 이나 아직 C++11 은 컴파일러 수준에서는 완성되지 못했습니다. clang++ 도 역시 비슷한 것 같습니다.
그러니 C++11 은 아직도 호환성에 큰 문제가 있어서 실무에서는 잘 쓰지 않을 것 같네요..
제가 이 답변에서 한 이야기는 좀 성급했다 싶습니다. 물론 배우는 사람 입장에서는 미래를 준비해야겠지만요 그러니 The C++ Standard Library - A Tutorial and Reference 1판을 보는 것이 옛날책 보는 것이다라고 했던 제 이야기는 좀 잘못된 이야기 이겠습니다. 오히려 그 책에서 제공하는 내용이 현재 가장 널리 쓰이는 수준의 표준을 익힐 수 있을 테니까요... C++11 이 정말로 널리 쓰이려면 아직 시간이 더 필요하겠군요...

http://slashdot.org/topic/bi/comparing-the-c-standard-and-boost/

이 글을 읽다가 여기에 생각이 미치게 되었습니다.

Thanks for being one of those who care for people and mankind.
I'd like to be one of those as well.

익명 사용자의 이미지

STL 튜토리얼·레퍼런스 가이드 제1판

익명 사용자의 이미지

The C++ Standard Library

Josuttis 1판 입니다.

kukyakya의 이미지

좀 오래된 문서이긴 하지만 sgi의 stl 문서( http://www.sgi.com/tech/stl/stl_index.html )도 개념을 파악하는데 많은 도움이 됩니다.

philnet의 이미지

어쩌면 이런 책을 원하시는 걸 지 모르겠네요. "뇌를 자극하는 C++ STL". (신입한테 C++과 STL 교육시키는데, 좀 버겁다면서 열혈강의 C++하고 이책으로 자습을 먼저 하더군요. 대충 훑어 봤는데 나쁘지 않았던 것 같습니다.)

참고로, 이펙티브 시리즈(EC++, MEC++, ESTL)는 정말 좋은 책이라 생각하고, 그래서 저희팀에 새로 합류하는 사람들에게는 꼭 스터디-세미나를 시킵니다. 제 경우 이 책들을 처음 봤을 때, 여러번 정독해도 잘 이해가 안 가는 부분이 꽤 있었지만, 그러다 실제 프로그래밍 해 가면서 시행착오를 겪고 나중에 다시 보니 그제서야 이해의 수준이 높아지는 경험을 여러 번 했거든요.

C++은 애초에 언어 자체가 참 방대한 언어고요, 너무 빨리 한꺼번에 익히려고 욕심을 내다 보면, 필요 이상으로 힘 들 수 있습니다. 조금 느긋하게, 책에서 본 내용을 실제 자신의 프로그램에 적용하고 시행착오를 겪으면서 자기 것으로 만드는 시간을 가지시길 감히 권합니다.

u235의 이미지

*

James Gostling

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.