일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 프로세스
- 혼자 공부하는
- 컴퓨터구조
- 프로그래머스
- 컴퓨터 구조
- 지역변수
- 131701
- 독학
- Transform
- 그래프
- dfs
- 보조기억장치
- 138477
- C++
- DirectX
- 멀티스레드
- 인터럽트
- 풀이
- 입출력장치
- CPU 스케줄링
- static
- 장치컨트롤러
- 혼자공부하는
- BFS
- 한빛미디어
- 운영체제
- 코딩테스트
- 렌더링 파이프라인
- 스레드
- DDR SDRAM
- Today
- Total
목록프로그래밍/C & C++ (5)
빼미의 개발일기

extern External (외부의) 뜻의 extern 키워드는 동일 프로젝트 내의 외부 파일에 있는 전역변수를 가져올 때 사용한다. 기본적으로 키워드 없이 선언되는 전역변수는 암시적으로 extern 전역변수이며, extern 키워드를 사용하는 건 명시적으로 해당 변수는 여러 소스 파일에서 공유하여 사용하겠다는 걸 나타내주는 것이다. //Test1.cpp extern int a; // case 0 int main() { printf("%d\n", a); // 10 } //Test2.cpp int a = 10;// case 0 오류 사례 및 C언어 extern과의 차이점 extern 변수와 함께 초기화를 하면서 다른 소스파일에서도 초기화를 진행하면 오류가 발생하며, 암시적이긴 하나 extern을 넣어주지..

캐스트는 자료형간 또는 포인터간의 형변환시 사용하며, 크게 묵시적 캐스트(Implicit Cast), 명시적 캐스트(Explicit Cast)로 나뉜다. //ex) int i = 10; char c = i; // 묵시적 캐스트 char c = (char)i;// 명시적 캐스트 (C Style) char c = static_cast(i);// 명시적 캐스트 (C++ Style) static_cast - 정적 캐스트(static_cast)의 특성은 묵시적 캐스트와 1차적으론 같은 역할을 하고, 유효성 검사를 통해 변환의 유무를 판별한다. ◆ C Style Casting VS C++ Style Casting(static_cast) - 두 경우의 가장 큰 차이점은 컴파일 과정에서 유효성 검사 과정의 유무이다. ..

static 키워드가 붙으면 정적 변수로서 Data Segment에 메모리 영역을 할당한다. 하지만 생성된 지역이 어디냐에 따라 사용범위(Scope)와 링크(Linkage)가 달라지기에 사용방법도 달라진다. static 지역변수 - 함수나 블록 안에서 선언된 지역변수는 Stack Segment에 저장되며 블록 밖으로 벗어나면 해제되지만, static 키워드를 이용해 정적 지역변수로 선언되면 블록을 벗어나도 데이터가 사라지지 않는다. 함수를 실행하고 후에 재실행하게 되도 정적지역 변수의 데이터는 살아있다. static 맴버 변수 - 클래스에는 속하지만, 객체 별로 할당되지 않고, 클래스의 모든 객체가 공유하는 맴버를 의미한다. 맴버 변수가 static으로 선언되면, 해당 클래스의 모든 객체에 대해 하나의 ..

지역 변수(Local Value) 지역 변수(Local Value)는 자동기억 존속 시간(Automatic Storage Duration)을 가지며, 함수나 블록에 들어갈 때 스택 영역(Stack Segment)에 생성되고 나오면서 해제된다. 런타임 중에도 함수 호출 등으로 생성 & 해제가 이루어지고, 초기화를 해주지 않을 시 이전에 있던 불필요한 값(Garbage Value)이 지역 변수의 메모리 남아 있게 된다. 전역 변수(Global Value) 전역 변수(Global Value)는 정적 기억 존속 시간(Static Storage Duration)을 가지며, 함수 정의 바깥에 정의된 변수가 이에 해당된다. 컴파일 단계에서 데이터 영역(Data Segment)에 할당되며, 이 영역은 프로세스 종료까지..

람다식? - 람다식, 람다함수 라고 불린다. 함수나 함수 객체를 별도로 정의하지 않고, 필요한 지점에서 바로 함수를 직접 만들어 쓸수 있는 익명함수이다. 실무적으로도 코드의 간결화와 지연 연산 성능을 높이고, 반복 관련 코드의 불필요한 부분들을 제거 할 수 있다는 점에서 중요한 개념이다. ◆ 장점 : 코드의 간결화 - 반복적으로 사용되지 않는 함수를 간결하게 작성할 수 있다. 퍼포먼스 향상 - 지연 연산을 지원하는 방식(스트리밍)을 통해 메모리상의 효율성 및 불필요한 연산을 배제 할 수 있다. ◆ 단점 : 모든 원소를 전부 순회하는 경우의 코드면 람다식이 조금 느릴 수 있다. 함수 외부의 캡처를 위한 캡처를 하는 시간제약, 논리제약적인 요소도 고려해야 하며, 디버깅 시 함수 콜스텍 추적이 어렵다. 람다식..