이 사이트의 일부
http://www.yes24.com/Goods/FTGoodsView.aspx?goodsNo=254391&CategoryNumber=001001003011001
하지만 이 책에는 본인의 뇌세포를 자극하는 몇가지 단점들이 눈에 띄었습니다.
첫째, 부록에 포함된 소스의 에러입니다. 23장을 보면 string 클래스를 정의합니다. string 클래스에서는 문자열을 저장하기 위해 메모리를 동적할당 합니다. 그런데 C++에서 문자열을 저장하기 위해서는 문자열의 길이에 1을 더해서 널(null) 문자가 저장될 공간까지 할당해 주어야 함에도 불구하고 책의 소스에는 널(null) 문자가 저장될 공간을 할당해 주지 않아 에러가 발생합니다. 그리고 디폴트 생성자로 객체를 생성하여 출력을 하는 부분에서도 에러가 발생하는데, 디폴트 생성자의 코드를 다음과 같이 수정하여야 합니다.
string::string()
{
m_pStr = new char[1];
*m_pStr = '\0';
m_nLen = 0;
}
-------------
제 질문 :
에라 발생안하는데요 이상하네요 발생하는게 맞을까요?
그 책의 원래 소스를 첨부합니다.
이부분과 비교해보세요
string::string( )
{
m_pStr=NULL;
m_nLen=0;
|