C++ 함수 오버로딩(Function overloading) 코드 예제
코드 #include "windows.h" #include "stdio.h" double GetMax(double, double); int GetMax(int, int); void main() { int i; double d; i = GetMax(123,456); d = GetMax(1.23, 4.56); printf("\n%d",i); printf("\n%f",d); } double GetMax(double a, double b) { if(a>b) { return a; } else { return b; } }; int GetMax(int a ,int b) { if(a>b) { return a; } else { return b; } };
2022.02.13
동기/비동기(Synchronous/Asynchronous) 개념 정리
소프트웨어 관련 여러 분야에서 동기/비동기(Synchronous/Asynchronous) 개념이 자주 등장합니다. 그런데 업계마다 동기/비동기 처리(또는 호출)에 대해 미묘하게 다르게 정의하고 있네요. 좋다 나쁘다 관점도 조금씩 다르던데, 제 생각에는 조직과 개발자들의 성향에 맞게 활용하시면 될 것 같습니다. 현재, 저에게 중요한 것은 개념이므로 기억에 남을 수 있도록 정리한 내용은 이렇습니다. 동기(Synchronous) 처리 및 호출 - C언어를 처음 접했던 환경과 유사한 구조 - 작성한 코드의 순서대로 처리되는 방식 - 단순 반복 비동기(Asynchronous) 처리 및 호출 - OS, 콜백함수, Task 등이 포함된 환경과 유사한 구조 - 작성한 코드의 순서대로 처리되지 않고, 처리하는 방식 - ..
2021.12.29
손코딩, 핸드코딩, 날코딩, 하드코딩 이게 다 무슨 말이지...
안녕하세요. 이번에는 손코딩, 핸드코딩, 날코딩, 하드코딩에 대해 알아보도록 하겠습니다. 각 업계에 일하다보면, 자신들만의 용어가 생기는데요. 위에 나열한 단어들도 마찬가지라고 보시면 됩니다. 조사한 내용과 개인적을 의견을 곁들어 설명드리겠습니다. 손코딩 손코딩은 단어에서 유추할 수 있듯이, 손으로 코딩한다는 의미입니다. 좀 더 자세히 말씀드리자면, A4용지나 노트 같은 곳에 펜으로 코드를 작성하는 것입니다. 그리고 손으로 디버깅을 하는 것이죠. 사람들마다 의견이 다르지만, 개인적으로 손코딩은 비효율적인 학습법이라고 생각합니다. 손으로 코딩을 연습하실 때는 블록도(또는 다이어그램) 정도만 설계하시고, 디버깅을 통해 공부하는 것이 시간이 훨씬 절약된다고 생각해요. 핸드코딩, 날코딩 핸드코딩과 날코딩은 찾아..
2021.12.19