반응형 전체 글364 C++ inline 함수란? inline 함수는 C++의 실행 속도 개선을 위해 등장 했습니다. C++에서는 기본적으로 클래스 선언을 통한 맴버함수가 많이 이용되는데, 이러한 경우 보통 간단한 기능을 하는 함수들이 많이 만들어지게 됩니다. 생성자, getter(), setter(), print() 등 과같은 간단한 함수들 말이죠. 함수들이 간결하여 실행속도에 영향을 끼지지 않을 것 같지만 함수 호출 과정에서 프로그램 속도가 떨어지게 됩니다. 함수의 호출은 다음과 같이 진행됩니다. ※찾아보니 중간에 레지스터에도 값이 저장되는데 어떤 값이 무슨 이유로 저장되는지는 저도 잘 몰라서 일단 제외했습니다. 코드로 보면 다음과 같습니다. #include int fnc_1(int a, int b){ //매개변수 스택에 저장 return a + b.. 2019. 7. 13. C++ Lambda 사용 이유와 사용 방법 C++에는 lambda라는 문법이 존제합니다. 원래 이 lambda는 boost라는 라이브러리에서 제공하는 함수였지만 지금은 modern c++로 넘어가면서 이 기능을 기본적으로 지원하게 되었습니다. (현재 modern c++은 C++ 20 까지 나왔습니다.) 출처 : https://modoocode.com/196 ● [] 캡쳐 블록 (사용시 외부 변수를 캡쳐해 람다 몸통에서 사용 가능) ● () 전달 인자 ● -> 반환 타입 ● {} 함수 몸통 (※Lambda는 기본적으로 캡쳐 블록'[]', 전달인자 '()', return type을 생략할 수 있습니다.) 참...... 어려워 보이고 이런 기능이 왜 있는지 감이 안잡히고... 고통 스럽습니다..... 우선!! 이 lambda 라는 문법이 왜 필요한지 .. 2019. 7. 1. C++ 변수 형 타입 auto C++로 변수를 선언할 때 보통 자료형을 선언해 줍니다. int a = 10; double b = 5.12; char c[] = "hello"; 이런식으로 말이죠. 하지만 요즘 개정된 modern c++이나 boost 를 사용 할 시 다음 키워드를 사용할 수 있습니다. 바로 auto 이죠. auto 키워드는 따로 자료형을 지정해 주지 않아도 '변수 초기 값'에 따라 자동으로 자료형 타입이 결정됩니다. int main(void) { auto a1 = 10; auto a2 = 5.41; auto s = "hello"; cout 2019. 7. 1. C++로 Restful서버 만들기(casablanca) 2. Server Sample Code 이번엔 GET을 통해 서버로부터 간단한 메시지를 얻어오는 TEST를 해보겠습니다. 우선 아래는 Sample Code 입니다. #include #include using namespace std; using namespace web::http; using namespace web::http::experimental::listener; int main(){ http_listener listener(U("http://localhost:9090")); //Server URL, Port 지정. listener.open().then([&listener](){cout 2019. 5. 28. C++로 Restful서버 만들기(casablanca) 1. 셋팅 및 설치 C++로 카사블랑카(casablanca) SDK를 이용해 Restful 웹 서버를 만들어 볼까 합니다. 우선 개발 환경부터 말씀드리겠습니다. OS : Linux(Ubuntu 18.04)개발 툴 : vim컴파일러 : g++(7.4) 우선 라이브러리를 설치해야 하는데, C++의 Restful SDK를 설치해야 합니다. MS에서 현재 제공하고 있는 casablanca를 사용할 것이며, 계속해서 업데이트가 진행되고 있는 MS의 프로젝트 SDK입니다. 현재 github에 올라와 있으며 https://github.com/microsoft/cpprestsdk에서 올라와 있습니다. 설치 방법은 이렇습니다. 우선 git을 설치해야 합니다. ---------------------------------------------.. 2019. 5. 28. C++ 템플릿 클래스 템플릿은 클래스에서도 적용이 가능 합니다. #include using namespace std; template class Calculator{ private: T x, y; public : Calculator(T n1, T n2) : x(n1), y(n2) {} T Adder(){ return x + y; } }; int main(void){ Calculator cal1(10, 20); Calculator cal2(1.5, 20.99999); cout 2019. 5. 17. 이전 1 ··· 45 46 47 48 49 50 51 ··· 61 다음 728x90 반응형