본문 바로가기

프로그래밍

C#의 char의 크기는? 와. 깜짝놀랐네요. char은 언제까지나 1 byte가 아닙니다. C#에서 기본적으로 char(type)은 2 bytes입니다. (그말인 즉슨 C++/CLI도 char(type)은 2 byte란 말이죠.) 프로젝트 세팅에서 char를 1 byte로 만들 수도 없습니다. class String의 기본 문자(basic traits)는 2 bytes인 char입니다. 그래서 편의를 위해 byte[] System.IO.File.ReadAllBytes() 함수를 이용하여 문서를 읽었다면 byte 2개당 하나의 char로 변환시켜주는 작업을 해야 String에 입력이 가능합니다. C#은 똑똑해서 String에 byte를 += 연산자로 넣어버리면 숫자를 문자열로 서식화해서 넣어버립니다. 그래서 명시적으로 저렇게 2 .. 더보기
My C++ Tips 인클루드 순서 인클루드 순서야 정해진 룰은 없습니다. 그래도 제가 지켜서 쓰는 방식이 있는데요, 바로 미리 컴파일된 헤더에 해당하는 부분을 먼저 인클루드. 하는 겁니다. 즉, 좀 더 구체적이고(비추상적이고) 대중적인(?) 헤더를 먼저 인클루드 하는 거죠. 예를들면.. Win32 Library -> C RunTime Library -> STL Library -> Other Library -> My Library -> My Header 이런 식입니다. (아, 참고로 이 인클루드 순서는 CPP 기준입니다. 미리 컴파일된 헤더는 CPP 기준이니까요.) 무엇이 일반적이고 대중적이냐를 판단하는 가늠은 여러가지이지만.. Win32 Library는 Windows라는 운영체제 API로 OS-Dependant 하므로 제일.. 더보기