목록2022/01 (14)
Brise
// C++함수의 특징 1. 디폴트 파라미터 // 주의 사항 1. 반드시 마지막 인자(오른쪽) 부터 차례대로 // 지정해야 한다. // 주의 사항 2. 함수를 선언과 구현으로 분리할 경우 // 선언부에만 표기한다. (28 page 아래) void foo(int a = 0, int b, int c = 0); // error void foo(int a = 0, int b = 0 , int c = 0); int main() { foo(1, 2, 3); // foo(1, 2); //foo(1); //foo(); } void foo(int a/* = 0*/, int b /*= 0*/, int c/* = 0 */) { } C++은 멀티 패러다임 언어이기 때문에 OOP 적인 특징을 구현하고 있다. 때문에 함수에 대하..
C++에서는 C언어의 const보다 좀 더 strict한 형태의 상수를 지원한다. const의 경우 상수이며 선언할 때 할당한 값 이후로 값을 부여 불가능하지만, constexpr은 컴파일 시 값이 정해져 있어야 한다는 특징을 가지고 있다. #include int main() { int arr1[10]; // ok int size = 10; int arr2[size]; // C89 : 배열의 크기는 컴파일 시간에 알아야 한다. // C99 : 배열의 크기로 변수도 가능 // g++(gcc)지원, VC++ 지원 안함 //sub esp, size const int size2 = 10; // 컴파일 시간 상수 int arr3[size2]; // ok const int size3 = size; // runtim..
// 4_변수1 #include // C++ 은 C언어의 변수 관련 문법을 더욱 발전시켰습니다. struct Point { int x, y; }; int main() { int n1 = 0b1; // 2진수 표기법, C++11 부터 지원 int n2 = 1'000'000; // digit separator, C++11부터 // 원리 : 정수형 리터럴 사이의 ' 는 // 컴파일러가 무시 struct Point p1; // C언어 스타일 Point p2; // C++언어 스타일. //foo() int n3; // 함수 중간에 변수 선언. // C89 : error // C99 : ok. // C++ : ok. } C와 C++ 문법 기준이 개선되며 변수 선언 위치 및 방법이 크게 개선되었..
#include #include // cout, cin, endl 을 위한 헤더 int main() { int n = 10; printf("n = %d\n", n); // C style scanf("%d", &n); // 입력 std::cout
// 2_namespace.cpp - 교재 7 page #include //핵심 1. 관련된 함수/구조체/전역변수 등을 하나의 이름공간에서 // 관리하는 기술 // 2. 이름의 충돌을 막고, 프로그램을 논리적으로 구분할수 있다 namespace Audio { void init() { printf("Audio init\n"); } } namespace Video { void init() { printf("Video init\n"); } } void init() { printf("global init\n");} int main() { init(); Audio::init(); Video::init(); } C언어에서 같은 이름을 갖는 함수나 변수가 중첩되는 이슈를 방지하기 위하여 C++에서는 namespace..