목록Programming/C++ (43)
Nagie's DevStory
//네임스페이스 사용 예시 #include // "my_namespace"라는 사용자 정의 네임스페이스를 정의 namespace my_namespace { int x = 10; // my_namespace 내에서 x라는 이름은 이 네임스페이스에 속합니다. void printX() { std::cout
//템플릿 함수의 사용 예시 #include // 템플릿 함수 정의 template //typename 또는 class 키워드가 사용가능 T add(T a, T b) { return a + b; } int main() { int sum1 = add(5, 3); // int형에 대한 템플릿 함수 호출 double sum2 = add(3.5, 2.7); // double형에 대한 템플릿 함수 호출 std::cout
//전처리 함수의 예시 #include #define MUL(X, Y) X*Y int main() { std::cout
inline int plus(int param1 = 4, int param2 = 5) { return param1 + param2; } 기존 C에서도 사용할 수 있었던 인라인(inline) 함수다. 인라인(inline)함수의 장점은 함수 호출의 오버헤드가 없어 실행 속도가 빠르다는 것이다. 다만 인라인(inline) 요청이 많이 받아들여지면 코드의 크기가 늘어나는 단점도 있다. 그리고 요즘은 사용자가 inline 키워드를 사용할 이유도 없는 게 컴파일러가 알아서 판단하고 인라인(inline) 화를 해주기 때문에 오히려 사용자가 인라인(inline) 요청을 하는 게 독이 될 수도 있다는 게 내 개인적인 생각이다. 정말 특수한 환경이 아니라면 inline 요청은 알고만 있고 사용은 자제하자.
//C #include void exampleFunction(int a, int b) { // 함수 내용 } int main() { exampleFunction(1, 2); // 모든 인수를 명시적으로 전달 } //C++ #include void exampleFunction(int a, int b = 0) { // 함수 내용 } int main() { exampleFunction(1); // b의 기본값인 0으로 초기화 exampleFunction(1, 2); // b에 명시적인 값 전달 } 우선 C를 기준으로 생각해 보자. C는 초기 버전부터 함수의 파라미터 디폴트 값(Parameter default value)을 지원하지 않았다. 함수를 호출할 때 모든 파라미터에 대한 값을 명시적으로 제공해야 하며 ..