Unique Pointer

Programming/C++ Language 2014. 3. 3. 14:59



Related


template <class T>

class rv

{

    T& r_;


public:

    explicit rv(T& r) : r_(r) {}

    T* operator->() {return &r_;}

    T& operator*() {return r_;}

};


template

rv<int> intRV; 와 같이 <> 안에 자료형을 넣어 T를 해당 자료형으로 변환 시켜준다.


explicit

class 생성자의 묵시적 호출을 방지하는 키워드.

int a;

rv<int> classRV = a;

위와 같이 호출을 하였을 때, 컴파일러가 암묵적으로 classRV(a) 를 호출해주는 것을 방지한다. 이로인해 의도치 않은 동작을 방지 할 수 있다.

생성자를 호출하기 위해서는 반듯이 rv<int> classRV(a) 와 같이 호출이 되어야 한다.



typename


typedef typename add_reference<deleter_type>::type deleter_reference;


typedef 는 기존 정의된 자료형사용자 정의 자료형으로 이름을 부여할 때 사용한다.

따라소 자료형 만이 다음에 올 수가 있는데, 위의 코드에서는 add_reference<deleter_type>::type 이 있는데 이는 변수가 될 수도 있고 자료형이 될 수도 있다. 따라서 컴파일러에게 혼돈을 주게되므로, 컴파일러에게 ~::type 은 자료형이라는 것을 알려주기 위해 사용하는 키워드이다.

'Programming > C++ Language' 카테고리의 다른 글

warning 에 대하여  (0) 2015.01.07
typeid 키워드  (0) 2014.04.15
[C++] 동적바인딩( Dynamic binding )  (0) 2011.01.03
[C++] this 포인터 사용하기  (0) 2010.07.31
[C++] 참조 변수  (1) 2010.07.31

설정

트랙백

댓글

[안드로이드] layout xml - layout_height/weigh

Programming/Android 2012. 1. 14. 13:40

public static final int FILL_PARENT

Since: API Level 1

API Level 8 부터 더 이상 쓰지 않는다고 한다. Level8 부터는 fill_parent 대신에 match_parent 를 사용한다.

public static final int MATCH_PARENT

Since: API Level 8

부모 view의 크기를 의미하며, 부모의 padding 만큼 사이즈가 줄인다. API Level 8 부터 사용이 가능하다.

public static final int WRAP_CONTENT

Since: API Level 1

내부 content 크기 만큼에 맞춰 사이즈를 정의하게 된다.
TextView를 예를 들면, 한줄의 텍스트가 들어가게 되면 한줄 텍스트의 사이즈 만큼 크기가 결정되고, 두줄의 텍스트가 들어가게 되면 두줄 텍스트의 사이즈만큼 크기가 결정된다.


 

설정

트랙백

댓글

[안드로이드] Android requires compiler compliance level 5.0 or 6.0. Found '1.7' instead. Please use Android Tools > Fix Project Properties.

Programming/Android 2011. 12. 31. 11:21
예제를 받고 처음 실행하려니 이런 문구가 뜨네요.

해결방법은 아래와 같습니다.

프로젝트에 마우스 오른쪽을 누르고 Android Tools > Fix Project Properties 를 선택하고, 다시 실행하면 됩니다.

 

'Programming > Android' 카테고리의 다른 글

[안드로이드] layout xml - layout_height/weigh  (1) 2012.01.14
AVD 실행 문제  (0) 2011.12.29

설정

트랙백

댓글