2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"

20
쪼꼬두유

Upload: -

Post on 15-Apr-2017

272 views

Category:

Engineering


9 download

TRANSCRIPT

Page 1: 2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"

쪼꼬두유

Page 2: 2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"
Page 3: 2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"
Page 4: 2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"

생성자는 해당 클래스의 인스턴스를 초기화하는 일종의 멤버 함수입니다.

Page 5: 2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"

전위 형식에서는 식 계산에서 값이 사용되기 전에 증가 또는 감소가 발생하므로 식값은 피연산자 값과 다릅니다.

Page 6: 2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"
Page 7: 2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"

컴파일러에게 지정된 변환을 사용하여 암시적 변환을 수행할 수 없도록 지시합니다.

Page 8: 2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"
Page 9: 2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"

class B {}; class D : public B {}; void f(B* pb, D* pd) { D* pd2 = static_cast<D*>(pb); B* pb2 = static_cast<B*>(pd);}

Page 10: 2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"

class B {}; class D : public B {}; void f(B* pb, D* pd) { D* pd2 = static_cast<D*>(pb); B* pb2 = static_cast<B*>(pd);}

class B { }; class C : public B { }; class D : public C { }; void f(D* pd) { C* pc = dynamic_cast<C*>(pd);B* pb = dynamic_cast<B*>(pd); }

Page 11: 2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"

class B {}; class D : public B {}; void f(B* pb, D* pd) { D* pd2 = static_cast<D*>(pb); B* pb2 = static_cast<B*>(pd);}

class B { }; class C : public B { }; class D : public C { }; void f(D* pd) { C* pc = dynamic_cast<C*>(pd);B* pb = dynamic_cast<B*>(pd); }

const int value = 100;int i = const_cast<int> (value);

Page 12: 2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"

1. reinterpret_cast2. (struct 구조체)

Page 13: 2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"
Page 14: 2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"
Page 15: 2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"

클래스의 각 멤버를 생성자에서 초기화 할 때 생성자 뒤에 콜론연산자(:)를 사용해서객체의 멤버를 초기화

Page 16: 2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"
Page 17: 2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"

하나의 문이 예상되는 곳에서 두 문을 그룹화쉼표 연산자는 왼쪽에서 오른쪽으로 결합

Page 18: 2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"
Page 19: 2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"

int main(){

const char *str1 = "42";int num1 = std::atoi(str1);

}

Page 20: 2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"