Category: C++

C++ const 와 constexpr

constconst 를 선언함으로서 값을 고정할 수 있다.실수를 줄일 수 있기 때문에 const 를 쓸 수 있는 상황에서는 무조건 사용하는 게 좋다.아래와 같은 쓰임새가 있다. 12345678910111213class Example{ public: // 파라메터를 const 로 해서, 함수 내부에서 inpString을 변경하지 못하게 함 v

C++ Web IDE 추천

코딩을 하다보면 내가 짜는 코드가 실제로 어떻게 동작하는지 헷갈리거나 컴파일러 별로 동작이 다른 부분을 직접 확인해보고 싶을 때가 있는데, 그럴 때 Web IDE 를 사용하는 편이다.속도도 빠른 편이고, 컴파일러 선택 옵션이나 기능들도 충분하다고 생각된다.작성한 C++ code 를 실시간으로 assembly code 로 보여주는 기능도 있어서, assemb

C/C++ free/delete 없이 프로그램을 종료한다면?

delete/free 는 C++/C 개발할 때 꼭 빼먹어서는 안되는 중요한 키워드이다.관련해서 학부 시절에 실습 과제를 제출하는 시스템이 있었다.어려운 실습 과제에 허덕이던 동기들끼리 농담으로 “malloc 으로 동적할당을 크게 잡아버리고 free 안해서 서버 다운시켜 버리자.” 라는 얘기를 한 적이 있다. 그 당시에는 잘 몰라서 위와 같이 코딩해서 제출하

C++ try-catch 예외처리와 성능

C++ 에서 예외처리는 overhead 가 있다는 것은 익히 알고 있을 것이다.그럼에도 try-catch 구문이 꼭 필요한 경우가 있는데, overhead 가 있다는 것이 예상만 되지 exception 발생 유무에 따른 성능 차이에 대해서 궁금해져서 성능 상 얼마나 차이가 있을지 찾아보았다. 결론은 ‘try-catch 를 사용하더라도, exception 이

C++ Korea 6th Semina 후기 (2019-09-29)

2019-09-29 일요일에 C++ Korea 에서 주최하는 Semina 가 있었다.보통 이런 세미나들이 다 그렇듯이 서울에서 열려서, 부산에 사는 입장에선 차비, 숙박비 등 합치면 돈도 꽤 들고, 이동 시간도 많이 소요돼서 조금 고민되긴 했었으나 요즘 C++ 을 주제로 하는 세미나는 거의 없고, session 내용을 보니 들어보고 싶은 내용이 많아서 참석

C++ std::function 와 std::bind 사용법

std::function 란?C++11 부터 추가된 기능으로, C의 함수 포인터를 대체한다.아래와 같이 사용할 수 있다. 1234567891011void addAndPrint(int a, int b){ int sum = a + b; std::cout << sum << "\n";}std::functio

C++ std::vector push_back 보단 emplace_back 을 사용하자

emplace_back 을 사용하자emplace_back 은 c++11 에 추가된 std::vector 의 멤버함수다.보통 vector 에 값을 넣을 때, 아래와 같이 push_back 을 사용할 것이다. 123456std::vector<std::string> strList;// 이렇게 객체를 하나 선언해서 넣거나std::string A = &q

C++ Rvalue 와 std::move 에 대한 이해

Rvalue 란 무엇인가?Rvalue, 우측값은 대입 시에 항상 오른쪽에만 오는 식을 말한다.예제로 이해하는 것이 쉽다. 123456789101112131415int doSomething(){ ... return z;}int x = 10; // x 는 Lvalue, 10은 Rvalueint y = 20; // y 는 Lvalue,