상수표현식 (constexpr) 은 인라인 함수와 동일한 기능을 제공한다.추가로 컴파일 단계에서 프로그래밍을 최적화하여 반환되는 값이 상수가 되는 식이다. constexpr 지정자 특징 ▶ constexpr 로 선언된 변수는 const 지정자처럼 변수를 상수로 만든다. ▶ constexpr 로 선언된 변수의 데이터를 수정하려고 하면, 컴파일러 에러를 발생시킨다. ▶ 함수 및 클래스의 생성자에도 constexpr 를 적용할 수 있다. 함수에 붙이면 inline 함수처럼 인식된다. 사용불가 ▷ goto 문 ▷ label 문 , switch-case 문 ▷ try-catch 문 ▷ static_assert 선언문 ▷ using 지시문/선언문 ▷ typedef 선언문 ▷ NULL ▷ 리터럴이 아닌 함수 내부에서..
C++11 이전 - 그냥 'C++' C++11 이후 - 모던C++ C++ 언어는 C언어가 제공하는 이식성과 높은 처리 속도를 그대로 보장하고 자 함. C언어에 없는 객체 지향 언어의 클래스와 연산자 오버로딩, 템플릿이나 예외처리 등의 개념을 도입. C++언어가 C언어 보다 느린 이유 : 템플릿이나 객체 지향 언어가 제공하는 기능에 의해 발생한다. 객체지향 언어의 특성상 데이터 타입 변환이나 다형성의 기능을 지원하기 위해, 다수의 메모리 테이블이 추가되면서 더 많은 메모리가 필요하며, 객체가 차지하는 메모리를 관리하는 기능들이 추가되면서 C언어의 프로그램보다 느려졌다. C++11 C++11 에는 STL (표준 템플릿 라이브러리 ( Standard Template Library )) , 람다, functio..
1. 값 전달 방식 2. 주소 전달 방식 3. 참조 전달 방식 주소 전달 방식( ptr ) 와 참조 전달 방식 ( ref ) 은 로우레벨 ( 어셈블리 ) 관점에서 실제 작동 방식은 디버깅을 해보면, 100% 같다 = 성능이 같다. 하이레벨 관점에서는 주소값을 넘겨주는 부분이 숨겨져 있다. // num : 저장 바구니 이름 int num = 1; // ptr : 주소를 담는 바구니 int* ptr = # *ptr = 2; // ref : num 바구니에 또 다른 이름을 부여. // num 이라는 바구니에 ref 라는 다른 이름을 지어줄게! int& ref = num; ref = 3; 그럼 ptr 와 ref 의 차이점은?? 값 전달 처럼 편리하게 사용하고, 주소 전달 처럼 주소값을 이용해 진짜( nu..

당연하지만 사소해서 실수하게 되는 부분을 정리하자면, 데이터 타입 변환이 있다. ▶ 대입 1. int 형 변수들을 short, float 등의 다른 데이터 타입으로 변환하면? 2. -1 인 int 값을 uint 에 대입한다면? int main() { int hp = 33333; short hp2 = hp;// 윗쪽 비트 데이터가 짤린 상태로 저장. 데이터 손실 float hp3 = hp;// 실수(float)로 변환할 때 정밀도 차이로 인해 데이터 손실 hp = -1; unsigned int hp4 = hp; // 비트 단위로 보면 똑같지만, 분석하는 방법의 차이 } 프로그래머 계산기로 계산해보면 알겠지만, 데이터 손실이 일어난다. ▶ 곱셈과 나눗셈 곱셈, 나눗셈을 할 때도 다른 데이터 타입의 경우를 조..

Data 영역 ◈ .data ◈ .bss ◈ .rodata 메모리 구조에서 데이터 영역에 해당하는 부분은 global variable (전역변수) , static variable (static 변수) 이다. 아래 코드를 전역 변수로 선언했다고 했을 때, 데이터 영역은 3가지 영역으로 나뉜다. .bss / .data / .rodata // .bss int a; // .data int b = 0; // .rodata const int c = 0; void main() { // stack 영역 const int d = 0; } 1) .bss 초기값 없는 경우 2) .data 초기값 있는 경우 3) .rodata 읽기 전용 데이터 단, const 의 경우 읽기 전용 데이터라고 볼 수 있지만, C++ 표준에서 꼭..

네이버 클라우드 플랫폼 : www.ncloud.com/ NAVER CLOUD PLATFORM cloud computing services for corporations, IaaS, PaaS, SaaS, with Global region and Security Technology Certification www.ncloud.com Console을 누르면 이런 Dashboard 창이 뜬다. 왼쪽 검정 창에 보면 중간에 ' Products & Services ' 가 있다. 클릭하면, 여러 카테고리들이 쭉 나열되는 창이 뜬다. 여기서 Compute 카테고리에 보면 ' Server ' 가 보인다. Server를 클릭한다. 이용하던 서버를 '반납' 하려면 '정지' 를 먼저 해서, 서버 정지를 시켜주어야 한다. '정..
빌드/실행에서 가장 기본적인 .dll 과 .lib 파일에 대한 질문에 제대로 설명을 못해서 당황스러워서 정리를 해본다. 왜 항상 알면서 대답을 못하냐아아아ㅏㅇㄱ 동적라이브러리 ( .dll , Dynamic Link Library ) vs 정적라이브러리 ( .lib , Static Library ) ◈ include / lib / dll include : dll 생성 프로젝트에서 사용했던 헤더 파일 lib : dll 프로젝트 빌드 후 생성된 lib 파일 dll : dll 프로젝트 빌드 후 생성된 dll 파일 ◈ .dll ( 동적 라이브러리 ) - 빌드에 포함되지 않는다. - 빌드 시간을 줄일 수 있지만, dll 파일이 폴더 내에 동적라이브러리 파일이 있어야 한다. ◈ .lib ( 정적 라이브러리 ) - 빌..
Cast 4가지 형식 ◈ static_cast ◈ dynamic_cast ◈ const_cast ◈ reinterpret_cast 1. static_cast 논리적으로 변경 가능한 경우에만 허용한다. 논리상 맞지 않는 변환을 막아준다. static_cast (변환 대상) // static_cast (11.5); 실수 → 정수 또는 정수 → 실수 변환은 가능하지만, 포인터 타입 → 정수 타입 변환은 방지한다. (가능) 부모클래스 포인터 → 부모클래스 (가능) 자식클래스 포인터 → 자식클래스 (가능) 부모클래스 포인터 → 자식클래스 (허용) 자식클래스 포인터 → 부모클래스 2. dynamic_cast 실행시간 타입정보 ( Runtime Type Information , RTTI ) 가 필요하다. dynami..

일명 토마토! Visual Assist 를 쓰게 되면서 단축키를 외워야 편해서 정리 한 번 해본다. 요새 가장 많이 쓰는 것부터.. ALT + Shift + O : 이름으로 솔루션 내의 파일 찾기 ALT + Shift + S : 솔루션 내 특정 키워드가 포함된 부분 찾기 ALT + Shift + F : 함수/변수 참조하는 곳 모두 찾기 ALT + Shift + R : 함수/변수 이름 일괄 변경 ALT + G : 함수/변수 정의된 곳으로 이동. ALT + M : 현재 파일에서 함수 빨리 찾기 ALT + Left or Right : 이전/이후 위치로 이동. 같은 소스 안에서도 이전 편집 위치를 기억하고 이동이 가능해서 편리. 외에 단축키는 뭐인지 잘 모르겠는데 정의 피킹을 많이 쓰고 있다. 그게 나한텐 좀 ..

GetMessage / PeekMessage 공통점 필터 조건과 일치하는 메세지에 대한 메세지 큐를 확인한 다음, MSG 구조에 메세지를 복사한다. GetMessage 메세지가 없으면 메세지가 생길 때까지 기다린다. 필터 조건과 일치하는 메세지가 큐에 배치될 때까지 반환하지 않는다. 게임은 역동적이어야 하기 때문에 GetMessage 를 사용하는 것이 좋은 것은 아니다. scanf 또는 cin 과 같은 함수처럼 무한정 기다리는 것과 같다. GetMessage 의 특징 제거한다, 대기한다, 양보한다. PeekMessage 메세지 큐에 있는지 여부에 관계없이 즉시 반환된다. 메세지가 있으면 true 리턴, 그렇지 않으면 false 리턴. 메세지 펌프는 false 동안 계속 루프를 실행하며 그 때마다 Peek..
- Total
- Today
- Yesterday
- 네이버클라우드플랫폼
- SQLD 2과목
- 백준
- 40회 SQLD
- 파이썬입출력
- SQLD40회
- 파이썬
- range함수
- python별찍기
- 파이썬문법
- 파이썬 입출력
- 데이터 모델링
- BAEKJOON
- 알고리즘
- python문법
- 데이터베이스
- SUM함수
- 파이썬for문
- 백준파이썬
- Python
- NaverCloudPlatform
- 별 찍기
- SQLD 1과목
- Unity GameObject 생성
- SQLD
- SQLD1과목
- 파이썬sum
- f-string
- 백준별찍기
- 백준 별찍기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |