본문 바로가기

2017/064

_countof 는 포인터로 하면 안된다. _countof 에 char[10] a;_countof(a) 하면 잘 되는데 char* b = a;_countof(b)하면 컴파일 에러! 그래서strcpy( str1, str2); ->strcpy(str1, _countof(str1), str2); 사용할 때, str1이 포인터 형태면 안된다. 그럼 어떻게 해결할까? RemarksEnsure that array is actually an array, not a pointer. In C, _countof will produce erroneous results if array is a pointer. In C++, _countofwill fail to compile if array is a pointer. 참조 : http://www.benjaminlog.c.. 2017. 6. 30.
[c++11] for문 auto 사용하기, 선호하는 방법 auto num = 1;auto str = "Hello"; cout 2017. 6. 20.
동적할당 new 한 걸 delete했는데 왜 _CrtIsValidHeapPointer 에러가 날까 에러문구 : _CrtIsValidHeapPointer 구조체 안에 struct SStrunt{char* mChar;SStruct(){mChar = new char[ 10 ];}~SStruct(){delete []mChar; // Error}} 이렇게만 하고 main 함수에서 구조체 객체를 만들어서 사용하면 에러가 나지 않는다. 그럼 왜 나느냐. 저 구조체를 vector 등 STL에 넣어서 사용했더니, 저 delete []mChar; 부분에서 에러가 난다. 뭐가 문제인것인가. STL에서 clear할 때 delete를 시도하고 구조체에서도 delete 를 하려했다고 그런 에러인 것 같은데, 해결방법도 찾으면 나온다. 사용자정의함수를 추가하면 된다. 근데 STL에서 내가 new한걸 어떻게 알고 명시적으로 de.. 2017. 6. 20.
문자열 char, wchar, TCHAR 비교 ( ASCII, Unicode 비교 ) ANSI미국 국립 표준 협회(American National Standards Institute, ANSI)미국의 산업 표준을 제정하는 민간단체.ANSI에서 제정된 표준을 ANSI라고 부르기도 한다. ANSI가 제정한 표준 중 가장 유명한 것이 ASCII 코드이다. ASCII 코드 ( 아스키 코드 )ASCII (American Standard Code for Information Interchange, 미국 정보 교환 표준 부호)ANSI가 제정한 표준 중 가장 유명한 것이 ASCII 코드이다. 미국에서 표준화한 정보교환용 7비트 부호체계.000(0x00)부터 127(0x7F)까지 총 128개의 부호가 사용된다.영문 키보드로 입력할 수 있는 모든 기호들이 할당되어 있는 부호 체계. 장점 : 매우 단순하고 .. 2017. 6. 20.