C++ inline variable
2023. 2. 9. 13:49ㆍProgramming/JAVA, C++, Go, Rust
- 목차
반응형
inline variable ?
C++17
C++17부터 inline variable을 지원합니다. 변수 선언 시 inline keyword를 지정해주면, 해당 변수를 include 하여 사용하는 쪽에 embed 되어 사용됩니다. 그런데, 이렇게 되면 여러 파일이 하나의 inline 변수를 include 하여 사용할 경우 여러 변수들이 여러 파일에 중복으로 정의되어 사용되는 것이 아닌가 할 수도 있습니다. C++에서의 header란 것이 그러니깐요.
그러나 C++17 부터 새롭게 추가된 inline 변수는 linker level에서 여러 변수의 정의를 하나로 통합해 주는 작업을 수행합니다. 당연히 이를 참조하는 여로곳 에서는 변수를 extern으로 접근하게 되죠.
다음과 같이 선언하여 사용할 수 있습니다.
some.h
namespace typevariables {
inline constexpr TYPE1 = 0;
inline constexpr TYPE2 = 2;
};
반응형
'Programming > JAVA, C++, Go, Rust' 카테고리의 다른 글
고 언어 (Go lang)에서 값의 스왑 (swap) 방법 (0) | 2023.06.05 |
---|---|
Kotlin build on Mac (0) | 2023.02.27 |
C++ cast들 (static_cast, reinterpret_cast, dynamic_cast, const_cast) (0) | 2023.02.09 |
C++ emplace_back (0) | 2023.02.03 |
C++ 대입연산자의 virtual 사용 (0) | 2023.01.29 |