Make Unreal REAL.
article thumbnail
override 키워드
C++/기타 2023. 3. 1. 12:04

다음은 정상적으로 오버라이딩을 하는 상황이다. 부모 함수에 virtual 키워드가 지정되어 있고 자식에서 override 키워드가 지정되어 있다. class Parent { virtual void action() { cout

article thumbnail
__cplusplus
C++/기타 2023. 2. 21. 22:05

__cplusplus 매크로를 이용해 지원하는 C++ 버전에 따라 조건부 컴파일을 수행할 수 있다. int reduce_func(vector S) { #if (__cplusplus < 201703L) return accumulate(S.begin(), S.end(), 0); #else return reduce(S.begin(), S.end()); #endif } C++에서는 네임 맹글링을 방지하기 위해 extern "C"를 사용하는데 C 컴파일러에서 이것을 사용하면 컴파일 오류가 발생한다. 아래와 같이 처리하여 C++, C 컴파일러 모두에서 사용할 수 있다. #ifdef __cplusplus extern "C" { #endif /* All C declarations */ #ifdef __cplusplus..

article thumbnail
swap(), iter_swap(), swap_ranges()
C++/기타 2023. 2. 18. 22:21

swap()은 알고 있었지만 iter_swap(), swap_ranges()라는 STL 함수도 있다는 걸 오늘 알았다. 당연한 얘기지만 타입이 다른 반복자끼리는 사용할 수 없다. #include #include using namespace std; void print(vector v) { for (int e : v) cout

article thumbnail
재사용 가능한(Reusable) 코드 작성
C++/기타 2023. 2. 16. 22:26

함수에서 사용하는 데이터 타입과 알고리즘 로직을 분리하는 것이 모던 C++에서 재사용 가능한 코드를 작성하는 기본 방침이다. 재사용 가능한 코드는 Reusable(재사용 가능한)에 관한 것으로, Reusability(재사용성)과 관련된 템플릿 과는 별개의 내용이다. 아래는 정수 시퀀스에서 이진 검색을 수행하는 함수이다. bool binary_search(int N, vector& S) { auto first = S.begin(); auto last = S.end(); while (true) { int range_length = distance(first, last); auto mid_element_pos = first + range_length / 2; auto mid_element = *mid_elem..

article thumbnail
배열의 크기를 확인할 때 주의할 점
C++/기타 2023. 2. 13. 06:50

std::array나 std::vector 등은 컨테이너 내부에 크기를 저장한다. #include #include #include using namespace std; void func(vector vec) { cout

article thumbnail
디폴트 매개변수(Default Parameter)
C++/기타 2023. 1. 30. 10:42

선언부와 구현부(a.k.a 정의부) 둘 모두에 디폴트 매개변수를 지정하면 컴파일 오류가 발생한다. 두 매개변수의 값이 다르게 지정될 수 있기 때문이다. 그래서 둘 중 어느 곳에 지정하는 것이 바람직한지 검색해보았다. default parameters in .h and .cpp files COMPILER: g++ 4.7.2 Ok. So I am confused about default parameters in .h and .cpp files. It is mentioned in many places( including this site) that default parameters can be added only in .h files ... stackoverflow.com 선언부에 작성하는 것이 바람직하다고 ..

검색 태그