CPP 초급 강좌 12. C++ 함수 오버로딩 function overloading 사용법, 주의사항
CPP 초급 강좌 12. C++ 함수 오버로딩 function overloading 사용법, 주의사항 함수 오버로딩(function overloading) 동일한 이름을 함수를 여러개 만들 수 있는 기능 단, 인자의 개수, 인자의 타입이 달라야 한다. 사용자 입장에서는 동일 함수처럼 사용할수 있어 좋다. 이게 당연한 거지라고 생각하실지도 모르겠지만, C언어는 안 되는 기능이다. 예제 코드 void f1(int p1) {}; void f1(int p1, int p2) {}; void f1(int p1, int p2, int p3) {}; void f1(float p1) {}; int main() { f1(0); f1(0,0); f1(0,0,0); f1(0.0f); } 주의사항 디폴트 파라미터와 같이 사용할..
2020. 10. 22.
CPP 초급 강좌 8. C++ auto, decltype
CPP 초급 강좌 8. C++ auto, decltype auto? c++11 이후로 사용 시, 데이터 타입 추론기능을 가진 키워드, 초기화 값에 따라 알아서 데이터 타입을 정해주는 키워드 예제를 봅시다. int a[7] = { 1,2,3,4,5,6,7 }; int b = a[0]; 이런 코드를 가 있습니다. 만약 a의 타입을 float로 바꾼다고 하면 b역시 float로 바꾸어야겠죠. 아래와 같이 수정할 필요가 있을 것입니다. float a[7] = { 1,2,3,4,5,6,7 }; float b = a[0]; 그런데 a의 형식이 자주 바뀐다면, b 형식 또한 그 수만큼 바꿔줘야 하는데, 이럴때 auto를 사용하면 좋습니다. auto 사용 double a[7] = { 1,2,3,4,5,6,7 }; au..
2020. 10. 12.
CPP 초급 강좌 7. C++ 일관된 초기화(uniform initialization)
CPP 초급 강좌 7. C++ 일관된 초기화(uniform initialization) c++11 에서 도입된 uniform initalization 일관된 초기화란 무엇이고 왜 필요한 것일까요? 일관된 초기화 int n1 = 10;//1번 int n2 = { 10 };//2번 일관된 초기화를 모르시는 분들은 1번과 같은 초기화 코드를 많이 이용하셨을 겁니다. 2번과 같이 표현하는 방식을 일관된 초기화라고 칭합니다. 마치 변수나 구조체를 초기화하는 코드와 유사하죠. 이전 코드 초기화 방식을 보면 struct Point { int x, y; }; int main() { int n1 = 0; int n2(0); int x[10] = { 1,2,3,4,5,6,7,8,9,10 }; Point p = { 1, 1..
2020. 10. 8.