본문 바로가기

Programming123

operator == in std::pair pair 자료형으로 선언한경우 operator == 를 사용하려면 이에 대해 오버로딩을 해줘야 할것 같지만 pair 안에서 자체적으로 first 인자와 second 인자에 대해 각각 == 을 적용시킨후 결과를 반환한다. 아래의 소스를 보면 그 의미가 좀 더 구체적으로 다가온다. Compilation 이 나는 이유는 TEST class 에 == 를 호출하려고 하는데 정의가 되어 있지 않기 때문이다. #include using std::cout; using std::endl; class TEST { public: int num; }; // end - TEST int main() { std::pair p1, p2; p1.first = 2; p1.second = 3; p2.first = .. 2009. 9. 10.
Unicode 한국어 초성 중성 종성으로 분리하기 & 결합하기 Unicode(UCS2)로 구성된 한글은 초성 중성 종성으로 분리가 된다. 종성 = characterValue % 28 중성 = ( (characterValue - 종성 ) / 28 ) % 21 초성 = ( ( (characterValue - 종성 ) / 28 ) - 중성 ) / 21 이 값들은 인덱스 값이지 실제 Unicode 테이블표에 매치되지 않는다. 매치 시키려면 각각 초성 중성 종성의 시작 unicode 값들을 더해주면 된다. ( 초성 : 0x1100 , 중성 : 0x1161 , 종성 : 0x11A7 ) 또한 초성 중성 종성의 값들로 원래의 글자값을 만들려면 다음의 공식을 이용하면 된다. 물론 각각의 값들은 인덱스 값이어야 한다. (실제 테이블 매치 값이면 각각의 값들을 빼준다.) charact.. 2009. 8. 4.
istream operator >> overriding into template class #include #include template class StreamTest { private: STRING name_; STRING title_; friend std::istream& operator>>( std::istream&, StreamTest&); public: void print() { std::cout ( istream&, const StreamTest) int main() { StreamTest test; std::cin >> test; test.print(); return 0; } 특정 template 클래스에 overriding 하기 위한 참조 코드. 지금까지 인터넷 검색 및 지인에게 물어본 결과, template class 라도 operator>> 를 overriding 하는 경우.. 2009. 7. 31.
Linux tip - 전에 썻던 명령어의 인자를 재활용 하기 처음에는 cd 로 경로를 이동하려고 입력하다가 자칫 파일을 고쳐볼 생각에 파일명까지 기입하는 실수를 간혹 저지른다. 이럴때 요 기호( !$ )를 쓰면 괜찮을듯 하다. $ cd test/stream/input/c++/stream.cpp -bash: cd: test/stream/input/c++/stream.cpp: 디렉토리가 아닙니다. $ vi !$ 2009. 7. 10.