전부 감상
[펌]ActionScript에서의 Deep copy
사실 이 내용은 3일밤낮을 머리싸매고 고민하며 온갖 방법들을 이용해서 Deep copy를 시도하다가 모르겠어서 맘먹고 구글링을 한 3시간 해서 찾아낸 결과이다. 정말 힘들었다. ㅠㅠ 학생들을 가르치다보면 벽에 부딪히는 부분이 가끔 있다. Call by value 와 Call by reference의 차이를 이해를 못 한다는 것이었다. C언어를 가르칠 때 포인터를 설명하며 알려주면 쉽게 이해하는 부분이었지만, 요즘 대부분은 모바일의 여파 때문인지 JAVA를 먼저 배우는 것 같다.(즉 안드로이드 때문 --;) 그래서 그 들에게 설명할 때 내 머릿속에는 포인터로 이해되어있는 내용을 포인터란 단어를 꺼내지 않고 설명하는 것은 상당히 곤란한 일이었다. 그래서 언제나 예시로 배열을 하나 생성해서 대입을 해주고 값을..
뇌를 자극하는 C++ STL
C++ STL저자공동환 지음출판사한빛미디어 | 2012-04-02 출간카테고리컴퓨터/IT책소개인생은 '재미'와 '행복' 중심이 되어야 한다고 믿는 평범한 개...글쓴이 평점 C++에서 범용적으로 사용되는 Template Library 소개 책이다.적재적소의 그림들은 이해를 쉽게 하고 있으며비슷한 소스를 통해 만들어진 예제도 보기 편하게 쓰여져 있다.한번 쭈욱 읽어본 뒤 필요한 기능을 그때 그때 찾아보면 좋다.컨테이너, 반복자, 알고리즘, 아답터의 개념과 정의에 대해서만 잘 깨우친다면STL이 크게 어려울 건 없어 보인다.(아답터는 사용법이 좀 어려워보이긴 하지만...) 초보자들은 이 책을 읽기전에 꼭 윤성우씨가 쓴 "열혈강의 C++ 프로그래밍" 책을 읽기를 추천한다.난 책은 아직 보지 못했지만 윤성우씨의 ..
[펌] erase 와 remove
컨테이너에서 요소를 삭제할때 erase 멤버함수를 쓰곤 한다. 그런데 remove 라는 것도 있는데 이건뭔가? remove 는 알고리즘이다. (주)list 의 경우에는 멤버함수 remove 도 있다. erase 와 remove 의 차이는 뭘까? [remove 알고리즘은 일치하는 모든 요소를 삭제한다.] 소스를 보자. vector v; v.reserve(10); // 재할당을 피하기위해서 입니다. for( int i = 0; i
vector 사용 후 메모리 반환하는 방법
int _tmain(int argc, _TCHAR* argv[]) { vector v(0); v.push_back(10); cout
#include " " 와 #include <>
#include : stl이나 내장 라이브러리등 범용적으로 쓰이는 라이브러리 인클루드시#include " " : 사용자 정의 파일 인클루드시 차이점은 없다.
이항 '<<' : 오른쪽 피연산자로 'std::string' 형식을 사용하는 연산자가 없거나 허용되는 변환이 없습니다.
string str = "문자열"; cout
일반화 템플릿과 특수화 템플릿
//일반화 클래스 템플릿 template class Mae{ private: T n; public: explicit Mae(T _n):n(_n); }; //특수화 클래스 템플릿 template class Mae{ private: string n; public: explicit Mae(string _n):n(_n); }; //일반화 함수 템플릿 template void Print(T a){ } //특수화 함수 템플릿 template void Print(string a){ } 일반화 클래스나 일반화 함수에서 정의한 템플릿에서특수한 자료형의 경우를 대비하기 위한 것이 특수화 템플릿이다.위의 예제에서 string의 경우만 다르게 실행시키고 싶다면string을 정의한 특수형 템플릿을 사용한다.