반응형

분류 전체보기 283

[C++11] Range based for loop

목차로 가기 - 업데이트 * 박진수님이 지적해주신 오타 수정 C++11 에는 새로운 형태의 for loop인 range based for loop를 지원합니다.이미 python같은 언어에서는 지원되던 기능이기도 합니다. python에서는 아래처럼 루프를 사용할 수 있었습니다.### pythonpeoples = ['ryuan', 'yesum', 'w.third'] for p in peoples: print 'people :', p 이것을 c++에서 구현하려면 아래와 같이 해야 할 것입니다. ### c++#include #include using namespace std; int main() { vector s; s.push_back("ryuan"); s.push_back("yesum"); s.push_ba..

[c++11] rvalue reference

목차로 가기 이미 C++ 에서는 Reference(참조자)를 지원하고 있습니다.rvalue Reference를 설명하기 전에 기존의 Reference의 예제를 잠깐 살펴보겠습니다. ### c++#include using namespace std; int main() { int zero = 0; int& a = zero; //OK int& b = 0; // Compile Error return 0; } 아시겠지만, Reference에 0을 할당하는 것은 불가능합니다.예제를 컴파일 해보면 아래와 같은 에러를 볼 수 있습니다. (gcc 기준)g++ rvalue_reference.cpp rvalue_reference.cpp: In function ‘int main()’: rvalue_reference.cpp:8..

[C++11] Variadic template

목차로 가기 먼저 짧은 영어 탓에 variadic이라는 단어부터 찾아봤습니다.하지만, variadic이란 단어는 원래 존재했던 단어는 아닌듯 합니다. (http://en.wiktionary.org/wiki/variadic)어원은 variable 과 -adic 이 결합된 단어라고 하며, `임의의 많은 변수를 취하는` 이란 뜻입니다. C언어를 접해서 쓰고 있는 사람이라면 printf를 생각하면 쉬울 듯 합니다.printf는 대표적인 variadic function입니다.### c++// printf의 선언int printf(const char *format, ...); Variadic Template을 지원한다는 것은 결국 임의의 많은 template parameter를 취하는 템플릿을 지원한다는 것을 의미..

[C++11] unique_ptr

목차로 가기 unique_ptr는 C++에서 제공하는 스마트 포인터입니다.(TODO: 스마트 포인터에 대한 설명 추가) unique_ptr를 사용하면 동적으로 힙 영역에 할당된 인스턴스에 대한 소유권을 얻고 unique_ptr 객체가 사라지면 해당 인스턴스를 해제하게 됩니다.소유권을 갖기 때문에 인스턴스를 소유하는 unique_ptr은 동시에 두개가 되어선 안됩니다.(둘이 된 경우 소멸되는 과정에서 double free 에러가 발생하게 될 것입니다.) unique_ptr를 사용하려면 헤더를 인클루드하면 됩니다. 간단한 unique_ptr의 사용 예제입니다.### c++#include #include using namespace std; void f() { unique_ptr a(new int(3)); c..

[C++11] Type Inference: auto

목차로 가기 - 업데이트 * ts님이 지적해주신 제목 오타 수정 C/C++(C++11 이전의 C++)은 어떤 변수를 사용하려면 변수의 타입을 지정하여 선언(Declaration)을 해야만 합니다. 예를 들면 아래처럼 말입니다. ### c++int a;char b; 그러나, 템플릿과 STL등을 사용하다보면 어떤 타입을 지정하여 선언한다는 것이 간단한 일이 아닙니다.예를 들어 아래처럼 복잡한 타입을 선언해야 할 수 있습니다. (내용은 타 코드에서 아무렇게나 가져왔습니다.) ### c++HashMap map = getMap(); 이를 위해 C++11에서 등장한 두가지 타입 추론(Type Inference) 방법중 하나가 바로 auto 입니다.위 문장은 간단히 아래와 같이 선언할 수 있습니다.### c++aut..

[TIZEN][EFL] 타이젠 상에서 EFL 예제 실행하기

Tizen SDK 2.2부터는 EFL 개발을 할 수 있습니다. ( Tizen 2.2 정식 SDK 배포 by SeoZ )단, Tizen을 설치하실 때 Platform Development를 선택하셔야 하고 리눅스에서만 개발이 가능합니다. 이 글은 우분투 (13.04)에서 작성하였습니다. 먼저 Tizen IDE를 실행하시고 New -> Others를 선택합니다.Tizen 폴더를 선택하여 Tizen Platform Project를 선택합니다. Template이 나오고 3가지 방법이 있습니다. 다음 릴리즈에는 Sample들도 추가되길 기대해 봅니다.EFL Application을 선택합니다. Hello EFL이라는 메뉴를 선택하고 Project name(여기서는 helloEFL)을 지정합니다.Finish를 눌러 ..

Open Source/EFL 2013.08.02

[TIZEN] 2.2 Emulator 실행하기

Tizen 2.2 에뮬레이터는 기존의 에뮬레이터보다 훨씬 예쁩니다. 에뮬레이터를 실행하면 아래와 같은 화면이 뜹니다.가운데 + 버튼을 누르면 아래와 같은 화면이 나옵니다. 입력해야 할 정보들은 예전과 유사하지만 디자인이 좀 더 예쁩니다. Name은 적절한 이름을 입력하고 (tizen),Ram Size는 1025Mb로 늘렸습니다.File Sharing을 켜고, [...]을 눌러 적절한 폴더를 선택했습니다. Confirm버튼을 누르면 아래와 같습니다. 왼쪽에 아래와 같이 입력된 간단한 정보를 보여주는 작은 휴대폰 모양이 생깁니다.파일들은 ~/tizen-sdk-data/emulator-vms/vms 에 생성됩니다. 휴대폰 모양안에 있는 파란 버튼을 클릭하면 아래처럼 에뮬레이터가 실행됩니다.

Open Source/EFL 2013.08.01
반응형