본문 바로가기

programing/C++56

메모리 누수 확인 #include #ifdef _DEBUG #define new new(_CLIENT_BLOCK,__FILE__,__LINE__) #endif ... void main(){_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);} 2016. 10. 12.
auto 참조 http://blog.naver.com/kyed203/220068115571 - 정적 언어 vs 동적 언어> 정적 언어 : 대체로 컴파일 언어, 변수 type을 선언이나 정의할 때 명시적으로 지정> 동적 언어 : 대체로 스크립트 언어, 변수 type을 명시적으로 지정할 필요가 없음 - C#의 var> C#은 정적 언어이지만 var 키워드로 명시적으로 지정하지 않아도 됨> 단, 동적 언어와 다르게 변수의 type을 컴파일 할 때 결정함 - auto> 명시적으로 type을 지정하지 않아도 됨> 변수를 정의할 때 명시적으로 type을 지정하지 않고 컴파일 타임 때 결정> 클래스 정의할 때도, STL에서도 사용 가능> 코딩이 간편해지고, 코드 가독성이 좋아짐 2016. 10. 12.
std::tuple - std::pair을 확장한 자료형 - 가변인자 템플릿 > C++ TR1부터 사용이 가능, TR1은 최대 10개 까지 저장 > C++ 11부터는 가변인자 템플릿 덕에 제한이 없음 - 구조체는 해당 구조체를 정의해야 사용가능 하지만 tuple은 그럴 필요 없음 - 변수 타입 : std::tuple > auto로 사용 가능 - std::make_tuple() : tuple 변수에 값을 넣을 때 사용 - std::tuple_size::value : 변수의 갯수 - decltype( tuple변수 ) : 변수의 타입 유추 - std::get( tuple변수 ) : index의 값을 가져옴 - std::tuple_element를 사용해서 특정 위치의 타입을 가져올 수 있음 - std::tie :.. 2016. 10. 12.
extern과 static - 보통 변수는 선언시 값을 넣어주지 않아도 자동으로 쓰레기값이 들어가면서 정의 되어서 한번 더 같은 변수의 이름을 써서 선언한다면 곧 재정의가 됨 - static도 변수와 마찬가지로 한번 더 쓰게 되면 재정의가 되고Include로 각각 다른 헤더에서 같은 이름을 써도 에러 - extern은 값을 넣어주지 않으면 선언이 된다. 그래서 따로 정의를 해주지 않고 사용하면 오류가 난다cf. class안에 static 변수도 값을 넣어주지 않으면 선언이 돼버린다. - extern은 Include로 각 다른 헤더에서 선언해서 불러와도 같은 변수이므로 주의 해야 함 - extern은 정의 하지 않으면 컴파일이 안됨 - static은 지역일 때와 전역일 때 전혀 다른 속성으로 쓰이게 된다.전역일 경우는 그 파일 내에.. 2016. 10. 9.