C++, 하나의 문자상수를 L'ab' 형태로 표현이 가능한것인가요?
글쓴이: gurumong / 작성시간: 금, 2009/03/06 - 11:37오전
C++을 배우고 있습니다 아직 몇페이지 나가지 못했는데요 ^^;
C++기초 플러스(4판) 책의 wchar_t 데이터형을 설명하는 부분에서 조금 의야스러운 부분이 있어서 질문을 올립니다
wchar_t bob = L'bp'; // 확장 문자 상수 wchar_t ken[3] = L"tall"; // 확장 문자 문자열
그 아래에 "2바이트 wchar_t형을 사용하는 시스템에서, 이 코드는 각 문자에 2바이트씩 할당하여 메모리에 저장한다"라고 되어있습니다
' '로 포현되는 문자상수안에 두개의 문자가 들어가는것이 이상해보이는데요
마찬가지로 문자열 상수도 두문자를 하나씩 묶고 널문자까지해서 array of 3 wchar_t로 선언되어있네요
C언어에서라면 분명히 문법을 어기는것으로 될테지만 C++에서는 이러한것을 허용하는것인가요?
여기에 도움 말씀좀 부탁드립니다 ㅜ.ㅜ
Forums:
wchar_t
C++ 뿐 아니라, C에도 있어요. google 에 wchar_t 검색해 보면 많이 나옵니다. :)
한 예만 들면
http://sonhy1.tistory.com/112
http://sebul.sarang.net/
세벌 https://sebuls.blogspot.kr/
아무래도 책이
아무래도 책이 잘못된거 같습니다.
문자 상수는 1개밖에 못오는게 맞습니다. 저 코드를 vc2008에서 컴파일하니 아래와 같은 경고가 나옵니다.
warning C4066: 와이드 문자 상수에서 첫 문자 뒤의 문자는 무시됩니다.
-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.
-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.
"C++ 기초 플러스"가
"C++ 기초 플러스"가 5판까지 나와있고 꽤 유명한 책인것으로 알고있는데
잘못된 내용을 포함하고 있다니 이상하네요 ㅜ.ㅜ
그동안 꽤나 많이 팔렸을텐데..
오자나 탈자가 아닌 완전히 잘못된 내용이라
책의 나머지 부분을 읽어야할지 망설여지네요;
제가 가진 책은 4판인데, 현재 5판이 판매되고 있는데
이것으로 바꾸어서 공부를 하는것이 좋을까요?
혹시 5판에도 이런 잘못된 내용이 고쳐지지 않고 그대로 있는것은 아니겠지요?
ㅜ.ㅜ
사실 c++기초플러스가 추천하고 싶은 책은 아닙니다
비싼돈 들여가며 5판 사봤자 이득은 없을 겁니다.
이상하다 싶으면 질문 올리면서 보세요.
굳이 새로운 책을 사고 싶으시다면 accelerated c++이 얇고 괜찮습니다.
:)
C++ Primer plus는 전혀
C++ Primer plus는 전혀 좋은 책이 아니라고 봅니다.
그런데 acclerated C++ 번역서의 품질이 썩 좋지 못하더군요. 원서를 보시는 것을 추천드립니다.
- 죠커's blog / HanIRC:#CN
- 죠커's blog / HanIRC:#CN
C, C++ 할 것 없이 wide
C, C++ 할 것 없이 wide character 상수에서 하나 이상의 문자가 나올 수 있습니다. (책이 잘못된 것은 아닙니다.) 즉 L'ab' 이런 것이 가능합니다. 문법상으론 가능한데, 이럴 경우, 이게 wide character에서 어떤 식으로 해석될 지는 implementation-defined입니다. 따라서, 별로 쓰이지 않을 겁니다.
--
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://www.cinsk.org/cfaqs/
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
댓글 달기