for / if {} 를 사용하지 않고 바로 아랫줄에 있는것은 실행이 가능하다. 이때에 중간에 주석처리가 들어가 있어도 한 줄 까지는 실행이 된다.
switch 문에서 break 가 없으면 조건을 만족한 후에 그 아래 있는 것들을 다 출력한다.
1 = true / 0 = false
cout << (0 == 0) << ' ' ; 의 실행은 1이 출력이 된다.
이차원 배열의 크기는 안의 일차원 배열의 크기 * 일차원 배열의 개수이다.
int arr[2][4] 의 크기는 int = 4byte 2 * 4 * 4 = 32
float 와 double 의 크기는 다르므로 유효숫자도 다르다. 따라서 두개의 변수에 같은 값이 들어가도 같은 값이라고 보장할 수 없다.
포인터를 초기화 할 때에는 int* p = (int *) 1 로 해주어야 한다. 주소 값이 들어가야 하므로
static 은 처음 선언 되고 난 후에 초기화가 되지 않는다.
const 는 수정이 불가능하다.
++ 는 변수 안의 값을 바꾸지 않고 그냥 연산된 값을 리턴한다.
포인터를 초기화 할 때에는 NULL 보다는 nullptr 를 사용한다.
포인터가 초기화 안되있으면 쓰래기 값이 들어가므로 원치 않는곳에 값이 들어갈 수 있다.
void * : void 포인터
void 포인터란 자료형이 정해지지 않았을 때에 범용적으로 사용할 수 있는 포인터 이다.
따라서 char * 는 그냥 출력을 하면 주소값이 나오지 않고 안에 들어가 있는 모든 값들이 출력이 된다.
따라서 char* 의 주소 값을 보려면 (void *)로 초기화 하여 주소를 출력해야 한다.
배열의 이름은 수정을 할 수 없다. 길이가 정해져 있기 때문이다. 하지만 포인터나 alias의 경우에는 수정하여 저장이 가능하다.
'C++' 카테고리의 다른 글
복사 생성자, 복사 (0) | 2022.05.17 |
---|---|
C++ class (0) | 2022.05.16 |
C++ (0) | 2022.04.12 |
C++ 포인터 (0) | 2022.04.07 |
c++ 변수의 scope (0) | 2022.04.07 |