초보자를 위한 C++ 200제 독자를 위한 Q&A 공간입니다.

초보자를 위한 C++ 200제 독자를 위한 Q&A 공간입니다.


초보자를 위한 C++ 200제 독자를 위한 Q&A 공간


이곳이 저와 여러분들이 소통하는 자리가 되었으면 좋겠습니다.


책의 내용과 관련하여 궁금한 점이나 묻고 싶은 내용은 아래 댓글로 질문해주세요.

질문은 공개 댓글로 해주셔야 많은 분들에게 공유할 수 있다는 것도 참고해주세요.


※ 로그인하지 않고 비밀 댓글을 다시면 본인도 댓글을 확인할 수 없습니다.


질문에 대한 답변은 저 뿐만 아니라 저보다 지식이 많은 분들께서 해주셔도 됩니다.

제가 잘못알고 있거나 모르는 부분도 있으니깐요.


첨부 파일은 초보자를 위한 C++ 200제 책에 수록된 모든 소스코드입니다.


본문 소스 코드 30MB - 다운로드 [링크]


C++의 대가가 되는 그날까지 파이팅입니다~!


c++ 공부 책 200제 박준태


초보자를 위한 C++ 200제 독자를 위한 Q&A 공간입니다.

이 글을 공유하기

댓글(34)

  • 이준우
    2018.06.19 17:52

    namespace와 struct의 차이점이 무엇인가요??
    책의 내용중에 silla::year, baekjae::year을 구조체로도 사용할 수 있다고 생각돼서 질문합니다

    • 2018.06.20 00:15 신고

      http://codingcoding.tistory.com/859

      여기에 따로 포스트 남겼습니다. 제 설명이 부족했다면 죄송스럽지만 어느 부분 설명이 더 필요한지 말씀해주세요.

    • 이준우
      2018.06.21 19:51

      답변 감사합니다.
      둘의 차이점을 명확히 알겠네요.

      아 그리고 또 질문이 있는데요

      초급 50 예제에 추가하신 algorithm
      헤더는 예제의 어느 부분에서 사용되는건가요??

      random 헤더는 random_shuffle 함수 때문에 추가하신것 같은데 algorithm은 잘 모르겠네요...

    • 2018.06.22 13:04 신고

      삭제하셔도 됩니다. 불필요한 부분이네요. 해당 사항은 아래 정오표에 추가했습니다.

      http://codingcoding.tistory.com/850

  • 이준우
    2018.06.23 01:20

    Call by Reference와 Call by Address를 공부 하는 중 질문이 생겼습니다.
    둘의 공통점은 Call by Value와 달리 주소의 값을 직접 바꾸는 것이고,
    차이점은 *를 인자로 주면 4바이트 크기이고 &를 인자로 주면 자료형의 크기를 넘긴다는것 같은데,
    어떤 때 *를 넘기고 어떤 때 &를 넘기나요??

    • 2018.06.24 23:56 신고

      http://codingcoding.tistory.com/866

      따로 포스팅 남겼습니다. 추가로 궁금한 점은 언제든 댓글로 알려주세요.

  • 이준우
    2018.06.26 17:20

    위 답변 감사합니다 궁금증이 풀렸네요.
    또 질문이 있습니다만, 지금 클래스 관련 예제를 보고 있는 중인데요?
    왜 하나의 클래스 안에 public이 여러개 있는건가요?
    class exClass
    {
    public:
    함수1() {};
    public:
    함수2() {};
    };

    • 2018.06.26 17:28 신고

      아, 그건 제 코딩 습관 때문인데요. 사실 별게 아닙니다.

      예를 들어 볼게요. Human이란 클래스가 있습니다. 나이, 생년월일, 태어난 시간 등 생년에 관련된 변수가 있습니다.

      그리고 키, 몸무게, 성별, 시력 등 신체 조건과 관련된 변수가 있습니다.

      저는 이럴 경우 굳이 public 또는 private를 따로 선언하여 분리합니다. 섞여있는 것 보단 유형별로 분리하는 것을 선호합니다.

      그냥 제 코딩 습관입니다. 사소한 부분이긴한데 회사마다 코딩 룰을 다르게 두니깐 그 회사에 맞춰서 하면 돼요. 저는 최근 회사 룰이 저래서 지금도 저게 익숙하네요.

    • 이준우
      2018.06.26 18:07

      그리고 110번 예제 보는 중에 궁금한게 생겼는데요?
      class 안에서 변수에 메모리를 동적 할당/해제 하셨는데,
      혹시 변수 메모리 할당만하고 class 자체를 delete하면 할당된 변수의 메모리도 해제되나요??

    • 이준우
      2018.06.26 20:26

      class Rent
      {
      };
      class Landload : public Rent
      {
      };
      간단하게 표현했는데요.
      Rent가 부모인가요? Landload가 부모인가요?
      제 생각은 landload가 rent를 포함하니까 landload가 부모라고 생각되는데요..?

    • 2018.06.26 21:03 신고

      1. 혹시 예제 115번 말씀하시는 거라면 http://codingcoding.tistory.com/845 이 포스트 참조해 주세요. 오타가 너무 많아서 예제랑 설명글 다시 올렸습니다.

      2. 110번 예제에 대해선 다음 포스트 참조해 주세요. http://codingcoding.tistory.com/873

      언제나 처럼 궁금한 건 댓글로 알려주세요. 아는 범위 안에서 성심성의껏 알려드리겠습니다.

  • 알밧트
    2018.12.22 17:15

    85 - 2차원 배열 다루는 방법 예제가 잘못된거 같네요.
    해당 예제의 Fucn3은 초보 개발자에게 잘못된 예제를 제공해주신 것으로 보이네요.
    큰 오해를 불러 일으킬 수 있다고 생각합니다.
    저런 식으로 2차원 배열을 포인터로 받아서 처리할 수 있다고 배우게 되면 안됩니다. 저런식으로 이해하고 가느니 차라리 안쓰는게 낫습니다.
    해당 내용이 삭제가 되던, 아니면 별도 예제를 추가해주셔야 된다고 생각합니다.

  • 예제 초급53
    2019.03.09 12:02

    string seven_war = "임진왜란";
    string korea_war = "한국전쟁";

    if (seven_war.compare(korea_war) == 0)
    cout << "같은 문자열\n";
    else
    cout << "다른 문자열\n";

    예제처럼 쓰고 실했더니, 결과가 다르게 나오더라구요.
    위 예제는 수정한 부분입니다.
    같은문자열, 다른문자열이 책에는 반대로 쓰여있네요..

  • 예제 초급61
    2019.03.09 13:51

    include 한부분에서 algorithm이 빠졌네요.

  • 예제 초급65
    2019.03.13 13:50

    sort 함수를 사용하기위해서
    <algorithm>을 include 해야하는데 빠져있습니다.

  • 예제 중급 93
    2019.03.21 14:50

    txt 파일을 읽어오는 부분인데요, 한글이 물음표로 나옵니다.
    어떻게 해결해야하나요??

    • 2019.03.21 16:10 신고

      txt 파일을 ansi로 바꿔주세요.

      메모장 - 다른이름으로저장 - ansi 선택하면 됩니다.

      왜 그런진 http://riniblog.egloos.com/995731 이 포스트 읽어주세요.

      핵심만 발췌하면,

      1. 한글 윈도우에서 사용하는 코드 페이지는 CP949이며 EUC-KR 인코딩을 확장한 형태
      2. 한글 윈도우에서는 CP949로 인코딩
      3. 두 인코딩은 서로 호환이 되지 않기 때문에 단순히 값을 복사하면 다 깨진다.
      그래서 MultiByteToWideChar과 WideCharToMultiByte라는 함수를 지원한다.

  • 예제 중급 93
    2019.03.21 18:52

    txt 파일을 ansi로 바꿔서 저장했습니다만.. 그래도 물음표로 나와버리네요..
    뭐가 문제인걸까요..

  • 예제 중급 93
    2019.03.22 14:01


    #include <locale>

    setlocale(LC_ALL, "Korean";);

    이렇게 두줄을 추가하니까 한글이 나오기는 나오네요..

    • 2019.03.22 15:24 신고

      그렇게 사용하면 전체 언어 설정이 바껴서 다른 언어로 읽을 땐, 그때마다 로케일을 또 바꿔야 합니다. 별로 추천하는 방법은 아닌데 .....

    • 예제 중급 93
      2019.03.22 15:37

      txt 파일도 ansi인거 확인했었고.. utf-8도 해보고.. 있는걸 다 해봤는데도 한글만 물음표로 나오더라구요.

      이런경우에는 프로젝트 설정 문제일까요?

    • 2019.03.22 15:41 신고

      텍스트 파일을 제 이메일로 보내주세요. 저도 파일을 봐야 압니다.

      민감한 내용이 들어있다면 파일 복사하여 일부 내용만 담아서 보내주세요.

    • 예제 중급 93
      2019.03.22 15:51

      민감한 내용이라고 하기보다는..
      올려주신 예제 압축폴더에 들어있던
      txt 파일이라서요.. 똑같은 파일입니다..

      ==================
      참 이상한게 95번 예제 할때는 또 한글이 잘나오네요..( 95번 예제 txt 파일도 압출폴더에 있던 파일입니다. )
      이유가 뭘까요..?

    • 2019.03.22 16:43 신고

      프로젝트랑, txt 파일 보내주세요. 말씀만 듣고는 모릅니다.

    • 예제 중급 93
      2019.03.22 17:04

      프로젝트가 있는 폴더를 압축해서 보냈습니다.
      이렇게 보내는게 맞는건지 싶지만요..

      물음표로 나오는것도 캡쳐해서 사진첨부했습니다.

    • 2019.03.22 17:46 신고

      살다보면, 내 자리에선 되는데 왜 남의 자리에선 안 될까 싶어, 고민하는 일들이 생깁니다.

      집, 회사에서 님이 보내주신 소스는 잘 돌아갑니다. 텍스트 파일에도 이상은 없고요. 그럼에도 전 되는데 왜 님은 안될까요.

      제가 님 PC 앞에 앉아 설정들을 비교하며 꼼꼼하게 살펴보지 않는 이상 이런 에러는 원인을 찾기 너무 힘듭니다.

      소스 코드 문제라면 제가 바로 답해드릴 수 있으나, 설정 문제로 발생하는 문제는 답변드리기 정말 곤란하네요.

      죄송합니다. 이 부분에 대해선 저도 명쾌하게 드릴 말씀이 없네요.

    • 예제 중급 93
      2019.03.22 17:54

      답변 감사합니다.

  • 예제 51번
    2019.07.02 18:31

    예제 51번 코드를 따라했는데요. localtime이 unsafe하다고 localtime_s로 하라고 하네요. 그런데 그렇게 하니까 localtime_s의 매개변수는 1개만 쓰는게 아니라고 하면서 실행이 안됩니다. 어떻게 해야하나요?

    • 2019.07.04 11:13 신고

      #pragma warning(disable : 4996)

      우선 using namespace std 아래에 위 코드를 넣어주세요.

      비주얼스튜디오 최신 버전에선 오류네요... 자세한 건 나중에 따로 포스팅하겠습니다.

      요즘 ... 참 힘드네요 ... ㅠ 조금만 기다려주세요.

    • 예제51번
      2019.07.04 17:32

      답변 주셔서 감사합니다. 천천히 포스팅 해주셔도 됩니다.ㅋㅋㅋ힘내세요~!

Designed by JB FACTORY