min(a,b) a와 b중 작은값을 리턴해주며, 같을시 첫번쨰 매개변수를 리턴한다. max(a,b) a와 b중 큰 값을 리턴해 주며, 같을시 첫번째 매개변수를 리턴한다,. 그런데, 이것만 한다면, 그리 특별하지 않다. 하지만.. min(a,b, op) 식을 제공하기 때문에, 막강하다. max(a,b, op) 식도 제공한다. swap 함수는 레퍼런스로 계산해주기 때문에 막강하다. 클래스 TEST 에 int a와 int b 가 있고, 이 클래스의 객체 AAA 와 BBB가 있을때. private 로 되어 있으면 값을 얻어와서 다시 셋팅해줘야 하지만. 클래스 내부에.. swap(_T& a) { std::swap(자기변수, a.상대변수); std::swap(자기변수, a.상대변수); } 라고 해 두고.. 함수객체..
연구실/파편화된 기록들 검색 결과
new 만 쓰면서 사용하다가 어느샌가 스마트 포인터란 녀석이 존재한다는것을 알게 되었다.그 스마트 포인터중 C++ 표준 라이브러리 유틸리티에 포함되어 있는 auto_ptr에 대해서 익히려 한다. #include #include using namespace std; class BABO { int a, b, c; public: BABO* Mythis; BABO() { a = 3; b = 4; c = 5; Mythis = this; } void draw(void) { std::cout
아래는 인포북 - More Effective C++에 있는 내용입니다. 항목 2 : 가능한 C+ + 스타일의 캐스트를 즐겨 쓰자 이번 항목에서는 goto와 함께 프로그래밍계의 1급 기피대상인 캐스트(cast, 형변환) 란 것에 대해 생각해 보기로 합시다. 그렇게 쓰지 말라고 많은 사람들이 목놓아 외침에도 불구하고 캐스트와 goto는 많은 코드에서 버젓이 한 자리 하고 있습니다. 왜냐하면 프로그램을 작성하면서 사태가 걷잡을 수 없이 악화되면 어쩔 수 없이 이런 것들이 필요해지기 때문입니다. 캐스트는 바로 이런 것들에 속합니다. 하지만, 어쨌든 C 스타일의 캐스트는 있어야 할 것이 못 됩니다. 우선, 이것의 첫째 문제는 C 스타일의 캐스트는 어떤 타입을 다른 타입으로 아무 생각 없이 바꾸어주는 괴물이나 마찬..
처음에는 객체지향 설계가 가능하기 때문이라고 생각 했다. 하지만 .. 막강 기능 STL 이 있기 때문이 아닐까 하는 생각을 하곤 한다. 다음은 list 문서내에 있던 remove_if의 구조이다. template void remove_if(_Pr1 _Pred) { // erase each element satisfying _Pr1 iterator _Last = end(); for (iterator _First = begin(); _First != _Last; ) if (_Pred(*_First)) _First = erase(_First); else ++_First; } _Pred 만 정해주고 return 타입이 bool 형이기만 하면, .. 어떤 데이터간에 ... 리스트에서 삭제가 가능하다. 처음에는 S..
2. 당신이 가진 컴퓨터의 기본 구조 http://wiki.kldp.org/wiki.php/LinuxdocSgml/Unix-Internet-Fundamentals-HOWTO 발취 컴퓨터에는 프로세서 칩이 안에 내장되어 있고, 이것이 실제 연산을 수행한다. 또한 컴퓨터에는 내부 메모리가 존재한다.(DOS/Windows 사용자들은 이것을 `RAM'이라 부르고, 유닉스 사용자들은 'core'라는 표현을 쓴다.) 프로세서와 메모리는 컴퓨터의 심장부에 해당하는 머더보드에 설치된다. 컴퓨터에는 스크린과 키보드도 있다. 또한 하드 드라이브와 플로피 디스크도 있다. 스크린과 디스크는 머더보드에 직접 연결되고, 머더보드 밖에 있는 장비들은 콘트롤러 카드를 통해서 제어된다. (키보드는 너무 간단해서 따로 카드가 필요없다;..
최근댓글