랭귀지/C\C++
-
Google c++ coding Style Checker (cpplint)랭귀지/C\C++ 2020. 5. 6. 22:07
Google Coding Style 가독성을 높이기 위해 Google C++ coding Style Guide [ https://google.github.io/styleguide/cppguide.html ] 따르기로 결정했다면 다음과 같은 툴의 도움을 받으면 적용하기 수월 해집니다. 1. Visual Studio C++ 코딩 스타일 및 서식 설정 들여 쓰기 및 중괄호 위치와 같은 많은 개별 코드 서식 지정 옵션을 지정할 수 있습니다. 이렇게 하려면 도구 > 옵션 > 텍스트 편집기 > C/C++ > 서식(또는 Ctrl + Q를 입력하고 "서식 지정"을 검색)으로 이동합니다. 또는 ClangFormat 스타일(또는 사용자 지정 ClangFormat 스타일) 중 하나를 지정할 수 있습니다. - 기본 Visua..
-
Lexer랭귀지/C\C++ 2012. 9. 13. 16:46
#ifndef _CLEXER_H #define _CLEXER_H #include #include #define MAX_SIZE_OF_BUFFER 65536 #define TOKEND_NUMBER 1000 #define TOKEND_STRING 1001 #define TOKEND_END 65534 #define TOKEND_IDENTIFIER 65535 #define TOKEND_NOTDEFINED 65536 typedef std::vector SPLIT; class CLexer { protected: HANDLE m_File; CHAR* m_Char; ///파일의 내용을 읽어드림 DWORD m_Pointer; ///현재 Buffer상에 읽고 있는 문자열의 위치 DWORD m_BufSize; ///Buff..
-
Const 위치에 따른 특징랭귀지/C\C++ 2009. 10. 15. 15:43
CDump& CDump::Func(const char* pt); CDump& CDump::Func(char* const pt); const CDump& CDump::Func(char* pt); CDump& CDump::Func(char* const pt) const; 위치 상으로는 4가지이지만 이게 조합되면 더 많은 경우가 발생하게 된다. 1. CDump& CDump::Func(const char* pt); 이 경우는 Func 메소드에서 pt 포인터 변수에 문자열의 주소를 받고,이때 Func 메소드에서는 pt 포인터 변수가 가리키는 문자열의 공간의 데이터를 상수화 되어 데이터자체를 변경할 수 없다. 하지만 pt 변수는 다른 문자열 주소를 받을 수 있다. pt는 변수를 const한게 아니라 가리키는 곳을 ..
-
문자형식 변환랭귀지/C\C++ 2009. 7. 14. 14:41
유니코드 -> 멀티바이트 : WideCharToMultiByte() 멀티바이트 -> 유니코드 : MultiByteToWideChar() 자세한 내용은 MSDN을 참고하고 일반적으로 사용하는것은 다음과 같이 하면 된다. [유니코드 -> 멀티바이트] WCHAR *strWC = _T("abcde"); CHAR strMB[1024]; WideCharToMultiByte( CP_ACP, 0, strWC, -1, strMB, 1024, NULL, NULL ); 유니코드 문자열인 strWC의 내용이 멀티바이트 문자열로 strMB에 들어간다. 함수의 4번째 인자에는 변환할 문자열 길이가 들어가는데 -1로 하게 되면 원본(strWC)문자열에서 NULL문자가 나오는 곳까지 모두 변환하게 된다. 함수의 5번째 인자는 변환해..