블로그 이미지
kalstein

여러가지 프로그래밍 관련이나...신변잡기적인 글들을 남기는 블로그입니다. 지식은 나누는만큼 강력해집니다 ^^

Rss feed Tistory
Programming 2010. 11. 12. 16:42

C++ RValue Reference... 꽤 괜찮겠네

기존의 C++에서는 복사생성자 및 대입연산자에서는 무조건 deep copy를 해야했다.
예륻 들어 vector<> 같은 녀석이 있었고 그게 사이즈가 크다면 모조리 다 copy부터 했다는뜻.
그러나... RValue Reference의 경우는 Shallow copy만 해도 된다!
(간단히 말해 포인터만 옮겨간다...라고 생각하믄 될듯)

궁금한건...복사생성자,대입연산자는 C++이 기본으로 만들어주는게 있는데,
RValue Reference를 사용하는 move 연산자들은... 자동으루 해주나? ㅡ.ㅡ;;
그건 잘 모르겠네 흠.

뭐 VS 2010 부터 지원된다고 하니 (gcc는 4.0 이상의...뭐 마이너 버젼이 있나본데 자세히는 잘...)
꽤 많은 유저들이 은연중에 사용할듯.
STL 만 해도 그냥 기존처럼 써도 많은 부분이 성능향상이 있으니.
Programming 2008. 11. 26. 10:50

Java의 implements, extends 를 C++로 표현하자면?

요즘 책을 보는데 언어가 JAVA로 되어있다. 그래서 몇가지 단어들이 익숙치 않은데...
그중에서 좀 애매한 부분이 'implements' 와 'extends'. extends를 구현상속이라고 되어있더라.
C++에선 상속이...그냥 pulic상속이냐, private 상속이냐...이정도만 있어서 뭐가 있나보다...하고 넘어갔다가 오늘 찾아보니 java에서는 좀 상속을 엄격하게 다루는듯.

implements를 C++로 하자면

struct IConnection
{
    virtual void connect() = 0;
};

class TCPConnection : public IConnection
{
public:
    virtual void connect()
    {
        어쩌구저쩌구...
    }
private:
    어쩌구저쩌구...
};

요런식으로 interface만 정의된 (pure virtual function들만 있는...) class를(혹은 구조체를) 상속받아서 구현하는것을 의미한다.

그 외의 것은 다 extends로 보면 된다.
  • 냐궁 2008.11.26 11:55 ADDR 수정/삭제 답글

    학교다닐때 들은 플밍수업들은..죄다 자바로 했었는데.. 왜 기억이 안나냐능..-.-

    포토샵cs4깔다가 플래시가 딸려와서.. 심심해서 악숑스크립트 3.0 들여다보고 있는데..
    문법이 자바라능....아주 헤매고 있다능...-.-, 난 플래시가 정말 싫다능...
    (근데 왜 보고 있능겨..-_-)

    • kalstein 2008.11.27 08:19 수정/삭제

      거...액션스크립트에 C/C++코드를 돌리는;; Alchemy 라는 녀석도 있다던데... 좀 짱인듯 ㅋㅋㅋ

TOTAL 38,593 TODAY 3