클래스 템플릿이란 무엇인가? 함수 템플릿 처럼, 클래스도 여러개의 데이터형으로 바뀔 수 있는 것을 말한다. 이러한 클래스 템플릿은 컨테이너류에 가장 많이 쓰이며, 대표적인 것으로는 std::vector 가 있겠다. 클래스 템플릿을 어떻게 선언하는가? template class Stack { //... }; 위에 처럼 선언할 수 있으며, typename 대신 class 를 사용 할 수 있다. 여기서 T는 멤버 함수나 멤버 변수를 선언 할 때 사용 된다. 즉, 다음과 같이 사용 될 수 있다. #include template class Stack { public: Stack(); void push(T const & ) ; void pop(); T top() const; private: std::vector e..
분류 전체보기 검색 결과
이 포스팅은 프랑스 카페 기법이 무엇이고, 어디에 쓰이는지 기록하기 위하여 쓰여졌습니다. 프랑스 카페 기법의 원본 글 : http://kldp.org/node/75861 Samba의 개발과정 --------------------- 글쓴이: Andrew Tridgell 2003년 8월 원문: 옮긴이: 박선재 2006년 12월 --------------------- 첫번째 방법: --------- 우선, CIFS/SMB 프로토콜에 관한 공개 문서가 몇 가지 있습니다. 비록 내용이 충분치 않고 정확하지도 않지만, 첫 발을 내디딜 때는 상당히 유용합니다. 가장 중요하다고 할 수 있는 문서는 아마 1997년에 나온 draft-leach-cifs-v1-spec-02.txt일 겁니다. 이 문서는 SNIA에서 공개한 ..
관련 링크해야 하는데, 귀찮.. 구성과 관리에 관한 이슈들 0. 작은 것에 연연하지 말라 1. 사소한 경고 메시지라도 무시하지 말라 2. 자동화된 빌드 시스템을 사용하라 3. 버전 컨트롤 시스템을 사용하라 4. 코드 리뷰에 시간을 투자하라 디자인 스타일 5. 하나의 엔티티에는 하나의 역할만을 부여하자 6. 정확성, 간결성, 명확성을 먼저 생각하라 7. 적절한 규모 유지를 위해서는 '언제, 어떻게'를 아는 것이 중요하다 8. 이른 최적화를 피하라 9. 미리 최적화해두어야 할 부분도 있다 10. 전역 데이터와 공유 데이터를 최소화하라 11. 정보를 숨겨라 12. 안전한 공유를 위한 코딩의 시기와 방식을 결정하라 13. 자원은 개체가 가지게끔 하라. RAII와 스마트 포인터를 활용하라 코딩 스타일 14. 런타..
{ 개요 이 포스팅은 오류를 어떻게 할 것인지 결정을 내릴 수 있는 방법을 정리하는 데에 그 목적을 두고 있다. 본문 제일 먼저 무엇을 해야 하는가? 오류를 발생시켜야 한다. 항목 70 항목에서 에러란 무엇인지에 대해서 정리하였다. 그 에러들 중에 만약 처리 할 수 없어, 프로그램을 더 이상 진행 할 수 없는 것이라면, 예외를 던저야 한다. 즉, 오류를 예외로 보고 한다. 오류를 예외로 보고 받은 다음 무엇을 해야 하는가? 해당 오류를 분석을 하여, 예외를 다시 던지거나 하거나, 더 변화 시켜서 던지 거나, 처리해야 한다. 변화 시켜 던지는게 무엇을 말하는가? 더 자세한 예외를 만든다거나, 처리 방법을 바꾸기 위해서 다른 예외로 바꾸는 것을 말한다. 결론 예외는 목적에 맞게 변경 하면 더 좋다. }
{ 개요 이번 포스팅은 예외를 발생시키는 좋은 예와 잡아낼 때 좋은 예를 정리하는 것에 그 목적을 두고 있다. 본문 예외는 어떻게 발생 시킬 수 있는가? 예외는 try 구문 내에서 throw a; 형태로 발생 시킬 수 있다. 이 때 a 는 어떠한 타입도 가능하다. 즉, 포인터,기본형, 객체형이 가능하다는 뜻이다. 이렇게 발생된 예외는 어떻게 잡을 수 있는가? catch 구문을 통해서 잡을 수 있다. 다음과 같이 catch( int a ) 형태 이다. 위의 a가 int 형이라면 잡을 수 있다. 만약 int 형이 아니라면, 잡을 수 없고 try catch 구문 밖으로 예외는 자동으로 나가게 된다. 예) #include int main( void ) { try { throw "abcdefg\n"; std::c..
최근댓글