- 식별자
"밑줄문자 두개"로 시작
"밑줄문자+대문자"로 시작
이 두가지는 예약어의 규칙에 속하기 때문에 훗날 문제가 될 수 도있으니
예약어 목록에 없다면 실행은되나 되도록 피하자
#include <iostream>
int main() {
int __ABC = 3;
int _Abc = 2;
std::cout << __ABC << _Abc; //모두 출력 성공
return 0;
}
- 정수 자료형
소수부가 없는 자료형
char, short, int, long 같은 자료형, 크기는 컴파일러마다 다를 수 가 있다
※ 보통 8비트 = 1바이트 이지만 c++에서는 컴파일러의 기본 문자 세트를 수용할 수 있는 최소한의 비트수가 바이트!
ex) ASCII는 최소 8비트로 나타내므로 ASCII가 기본 문자 세트라면 8비트가 1바이트가 된다
정수 상수가 저장되는 자료형은 최소 int형이다
문자를 정수형으로 표현한다 (Char)
char형은 문자와 숫자를 저장한다
wchar_t형은 1바이트로 나타낼수 없는 문자를 위해 탄생
상수형은 접두사로 'L'이 붙는다
- 멤버 연산자 (memvership operator)
객체의 멤버 사용할 경우 사용
ex) std::cout.puts(); 에서
1. " std::cout " // 2. " . " // 3. " puts(); "
1.(객체) 2.(멤버연산) 3.멤버(함수)
- const
상수, 값이 변화하지 않는다.
한마디로 데이터를 값이변하지않게 상수화 시킨다
그렇기에 무조건 선언과 동시에 정의로 초기화해야한다
[단 메모리에 올라갈때만 초기화 해주는듯 하다]
※클래스는 생성자에 이니셜라이저로 초기화, [ C++11 부터 바로 초기화 가능 ]
보통 관습으로 모두 대문자로 식별자를 만든다
위치에 따라 상수화되는게 다르다!
const의 위치에 따라 어느게 상수화 되는지 달라진다
※ const int * == int const *
멤버 함수 한정으로 함수의 선언 뒤에 const를 붙일 수 있는데
붙이게 되면 함수 내에서 멤버변수를 변경할수 없게 만든다
- 지수 표기법
ex) 314.234
가수부(기본값) 3.14234 // 지수부(스케일) E+3 ( 10의 3제곱이라는 뜻 )
=> 3.14234E+3 ( = 31.4234E+2 최종값이 똑같으면 가수부에 소수점을 어디에 찍든 상관없는듯하다 )
저장하는 방식은 위의 지수표기법과 비슷한데 [부호(0 or 1), 가수부(기본값), 지수부(스케일)]로 나누어 저장
- 부동 소수점
부동자세의 움직이지 않는다는 느낌이 아닌
뜰 부, 움직일 동/ 공중에 떠서 (소수점이) 움직인다는 느낌 = 소수점을 움직이므로 여러 자리의 소수점을 표현 가능
※ 부동소수점 오차의 이유
https://ddidding.tistory.com/57
- static_cast<> ()
자료형 변환
보통 형변환과 마찬가지로 사용한다고 데이터형이 영구적으로 바뀌는게 아니라 일시적이다
저렇게 상수를 포인터로 캐스팅하는건 안되나보다
주소연산자를 사용해서 다른 형의 주소로 캐스팅도 안된당
그냥 선형변환 후연산이 된다는 추가 사진
- auto
"초기화 된 변수만" 자동으로 자료형을 추론해 정의해주는 키워드
편리하다! 하지만 아무곳이나 사용한다면 다른사람이나 훗날 코드를 본다면 욕나올듯
아직은 모르지만 나중에 복잡한 데이터형을 다룰때 가끔 사용할거같다
'C++ > [책] C++ 기초 플러스' 카테고리의 다른 글
[ 203p ~ 209p ] 문자열 상수 (0) | 2021.06.30 |
---|---|
[ 179p ~ 203p ] 포인터, NULL&nullptr, New, Delete, 배열 포인터 (0) | 2021.06.28 |
[ 160p ~ 178p ] 구조체, 공용체, 열거체 (0) | 2021.06.03 |
[ 130p ~ 160p ] 배열, 문자열, string, raw문자열 (0) | 2021.06.01 |
[0 ~ 70] 전처리기 , name space , 함수 선언 , 예약어/키워드 (0) | 2021.05.29 |