[기술 질문] #2_auto 키워드, extern 키워드
C++의 "auto" 키워드와 "extern" 키워드에 대해 알아보겠습니다.
Overview
- 개념
- 코드
개념
1. auto 키워드(자동 타입 추론)
- C++11부터 제공하는 auto 키워드는 변수의 유형을 컴파일러가 자동으로 추론하도록 하는 기능을 제공합니다.
- 지역 변수와 동일하게 함수 블록 내부에서 선언되며, 블록의 종료와 함께 소멸됩니다.
- 메모리 구조의 "스택"에 메모리 할당을 받습니다.
2. extern 키워드(외부 변수)
- 전역 변수와 동일하게 함수 블럭 밖에서 선언되며, 프로그램의 종료와 함께 소멸됩니다.
- 메모리 구조의 "정적 데이터(Data) 영역"에 메모리 할당을 받습니다.
- 외부 파일에서 선언한 전역 변수를 참조할 때 사용됩니다.
- 주의할 점!! extern 키워드는 외부 파일의 "정적 변수"는 참조가 불가능합니다!!! 오직 전역 변수만 가능하니다!!!
코드
1. extern 키워드
// File1.cpp
#include <iostream>
using namespace std;
int a = 5;
// FIle2.cpp
#include <iostream>
using namespace std;
extern int a;
Details
- "File1"에서 선언한 전역 변수 a를 "File2"에서 extern 키워드를 통해 참조하고 있습니다.
- 보시다시피, extern 키워드는 편리함을 주는 대신, 유지 보수에 심각한 문제를 야기하므로, 주의해서 사용해야 합니다.
'언어 > 기술 질문' 카테고리의 다른 글
[기술 질문]#6_동적 할당 (0) | 2023.01.27 |
---|---|
[기술 질문]#5_struct, 구조체 (0) | 2023.01.21 |
[기술 질문]#4_#define, 매크로 (0) | 2023.01.08 |
[기술 질문]#3_const 키워드 (0) | 2023.01.07 |
[기술 질문] #1_변수 종류, 유효 범위, 메모리 구조 (2) | 2023.01.01 |