본문 바로가기

코드짜기

(4)
헤더파일에 using namespace를 하지 말아야 하는 이유 using 지시문 Using 지시문을 사용 하면 네임 스페이스 이름을 명시적 한정자로 사용 하지 않고 네임 스페이스 의 모든 이름을 사용할 수 있습니다. 네임 스페이스에서 여러 다른 식별자를 사용 하는 경우 구현 파일 (예: * .cpp)에서 using 지시문을 사용 합니다. 하나 또는 두 개의 식별자만 사용 하는 경우에는 using 선언을 사용 하 여 네임 스페이스의 모든 식별자가 아닌 해당 식별자를 범위로 가져옵니다. 지역 변수의 이름이 네임스페이스 변수와 동일한 경우 네임스페이스 변수가 숨겨집니다. 전역 변수와 동일한 이름을 가진 네임스페이스 변수를 사용하면 오류가 발생합니다. 참고 using 지시문은 .cpp 파일 맨 위나(파일 범위) 클래스 또는 함수 정의 내에 배치할 수 있습니다. 일반적으로 ..
algorithm 헤더 대신 #define 이용하기 알고리즘 헤더 대신 #define을 이용해보자. #define MAX(a,b) (a>b? a: b) #define MIN(a,b) (a
if문 안에서만 쓰이는 변수 선언하기 만약 어떤 변수가 if문 안에서만 쓰인다면, if 조건문 안에다 선언하자. 코드가 훨씬 깔끔해진다. Before: 1 2 PaymentInfo* info = database.ReadPaymentInfo(); if(info) { ... } After: 1 if(PaymentInfo* info = database.ReadPaymentInfo()) {...}
for-else를 C++에서도! std::non_of 파이썬에는 for else라는 문법이 있다. for루프를 돌릴때 break를 만나지 않으면, else문을 실행한다. 123for i in foo: if bar(i): breakelse: baz()cs 이 문법은 C++에서 non_of로 사용할 수 있다. 12if (std::none_of(std::begin(foo), std::end(foo), bar)) baz();if (std::none_of(foo, bar)) baz(); 움 보통 if(func(foo,bar)) baz(); 이렇게 쓰던게 std로 있다니! 재밌는걸 배워서 좋다