E D R , A S I H C RSS

Full text search for "템플릿"

템플릿


Search BackLinks only
Display context of search results
Case-sensitive searching
  • MoreEffectiveC++/Miscellany . . . . 27 matches
          * '''템플릿(template)의 확장''' :멤버 템플릿이 허용. 이것은 탬플릿의 명시적 표현을 위한 표준 문법,함수 템플릿에서 non-type 인자들 허용 하는것, 클래스 템플릿이 그들 자신의 템플릿을 인자로 받을수 있는것 이 있다.
          * '''일반적인 목적의 컨테이너와 알고리즘에 대한 지원'''. 표준 C++ 라이브러리에 포함되어 있는 클래스, 함수 템플릿은 Standard Template Library(STL)로 알려져 있다. STL은 표준 C++ 라이브러리의 가장 혁명적인 부분이다. 나는 밑에 이것의 특징을 요약한다.
         '''첫번째''' 라이브러리 안의 거의 모든것이 template이다. 이 책 내에서 나는 아마도 표준 string 클래스를 참고 했다. 그러나 사실 그런 클래스가 아니다. 대신에 문자들의 순서를 표현하는 basic_string 으로 불리는 클래스 템플릿이고, 이 템플릿은 문자형으로 순서를 만든다. 이것은 문자열을 char, wide char, Unide char, 무엇이든 허용한다.
         basic_string 템플릿이 세가지의 논의를 가지고 아서, 이 한줄에 조차 자세하게 주석을 달수 있다.;그렇지만 무엇보다 먼저 생각할것 '''첫번째'''는 기본 값이다. ''진짜'' string 형의 이해를 위해서 반드시 이와 같은 상황에 직면하는데, 바로 basic_string에 대한 선언을 수정할수 없는가? 이다.
         string 형의 사용을 위하여 위의 사항을 완전히 이해할 필요는 없다. 왜냐하면 단지 string은 Template Instantiation from Hell을 위한 typedef 이지만, 그것은 템플릿이 아닌 클래스와 같이 동작한다. 단지, 만약 당신이 문자열을 이루는 문자 형의 custmize가 필요하다면.. 혹은 당신이 문자열을 위한 메모리 할당에 대한 세부적인 조정을 원한다면... basic_string 템플릿은 이들을 할게 해줄것이라는 생각을 마음속에 새겨두어라.
         string 형의 디자인에 반영된 이러한 접근은-템플릿의 일반화- 표준 C++ 라이브러리를 통해서 반복되어 진다. IOStream? 그들은 템플릿이다.; 인자(type parameter)는 스트림에서 만들어지는 문자형으로 정의되어 있다. 복잡한 숫자(Complex number)? 역시 템플릿이다.;인자(type parameter)는 숫자를 어떻게 저장할지 정의되어 있다. Valarray? 템플릿이다.;인자(type parameter)는 각 배열에 최적화된다. 그리고 STL은 거의 모든 템플릿의 복합체이다. 만약 당신이 템플릿에 익숙하지 않다면, 지금 한발작 내디뎌 보아라.
          === The Standard Template Library : 표준 템플릿 라이브러리 ===
         표준 C++ 라이브러리에서 가장 큰 뉴스는 Standard Template Library(표준 템플릿 라이브러리)인 STL이다. (C++ 라이브러리에서 거의 모든것이 템플릿이 된이후 그 이름 STL은 이제 특별한것이 아니다. 그럼에도, 이것은 라이브러리의 알고리즘과 컨테이너의 부분의 이름이다. 그래서 쓰기에 좋은 이름이기도, 나쁜 이름이기도 한다.)
         해당 함수는 배열의 적용이 int에 한정되어 있어서 상속성이 없다. 그래서 그것을 템플릿(template)으로 만들어 본다.
         템플릿으로의 변환에서 값으로의 전달을 reference to const 로 전달로 변화시킬 방법이 없음을 주목해라. 각 값으로의 인자 전달은 우리에게 매번 객체의 생성과파괴의 비용을 지불하게 만든다. 우리는 pass-by-reference를 사용해서, 아무런 객체의 생성과 파괴를 하지 않도록 만들어서 해당 비용을 피해야 한다.
         그렇지만 이 템플릿은 좋다, 개다가 일반화 까지 할수 있다. 시작과 끝에 연산자를 보아라. 사용된 연산자는 다르다는 것, dereferencing, prefix증가(Item 6참고), 복사(함수의 반환 값을 위해서? Item 9참고)를 위해서 쓰였다. 모든 연산자는 우리가 overload할수 있다. (DeleteMe 모호) 그래서 왜 포인터 사용하여 찾기를 제한하는가? 왜 허용하지 않는가 포인터 추가에서 이러한 연산자를 지원하기 위한 어떤 객체도 허용할수 없을까? (hy not allow any object that supports these operations to be used in addition to pointers?) 그래서 이렇게 하는것은 포인터 연산자의 built-in 의미를 찾기함수(find function)을 자유롭게 할것이다. 예를 들어서 우리는 리스트 에서 다음 리스트로의 이동을 해주는 prefix increment 연산자의 linked list객체와 비슷한 pointer를 정의할수 있다.
         STL, 그것의 중심(core)는 매우 간단하다. 그것은 단지, 대표 세트(set of convention)를(일반화 시켰다는 의미) 덧붙인 클래스와 함수 템플릿의 모음이다. STL collection 클래스는 클래스로 정의되어진 형의 iterator 객체 begin과 end 같은 함수를 제공한다. STL algorithm 함수는 STL collection상의 iterator 객체를 이동시킨다. STL iterator는 포인터와 같이 동작한다. 그것은 정말로 모든 것이 포인터 같다. 큰 상속 관계도 없고 가상 함수도 없고 그러한 것들이 없다. 단지 몇개의 클래스와 함수 템플릿과 이들을 위한 작성된 모든 것이다.
         또 다른 면을 말한다.: STL은 확장성이 있다. 당신은 당신의 collection, algorithms, iterator를 STL에 추가할수 있다. 당신이 STL 협의를 따르는 이상 표준 STL collection은 아마도 당신의 algorithm과 당신의 collection은 STL의 algorithms과 함깨 동작할 것이다. 물론 당신의 템플릿은 표준 C++ 라이브러리의 한부분이 아니다. 그렇지만 그들은 같은 원리로 만들어 질것이고, 재사용 될것이다.
         내가 여기에 기술한 것보다 훨썬 많은 C++ 라이브러리가 존재한다. 당신은 라이브러리를 효과적으로 쓰기 전에, 반드시 당신이 알고 있는 요약 보다 더 많은 것을 배워야 하고, 당신의 STL-compliant 템플릿을 작성하기 전에, 반드시 STL의 협의에 관해서 공부해야 한다. 표준 C++ 라이브러리는 C 라이브러리 보다 훨씬 풍부하다. 아마 당신 자신이 그것(C++lib)에 친숙할수록 시간은 절약 될것이다. 게다가 라이브러리의 디자인 철학은 - 일반화(generality), 확장성(extensibility), 최적화(customizability), 효율성(efficiency), 재사용성(reusability) - 당신이 올바른 배움으로 가는데 매우 도움이 된다. 표준 C++ 라이브러리의 공부로 당신은 당신의 소프트웨어에서 사용 가능한 컴포넌트를 만드는 재반 지식의 향상은 물론, C++ 더 효율적으로 C++의 특징을 적용시키는 방법을 배운다. 그리고 당신은 당신이 가진 라이브러리의 좋은 디자인의 방법에 대한 해안을 얻는다.
  • MoreEffectiveC++/Exception . . . . 10 matches
         당신의 컴파일러가 예외 처리규정에 만족하지 않은 루틴을 가진 함수의 코드를 호출하는데 별 무리없다고, 그러한 호출이 아마 당신의 프로그램에서 프로그램의 중지를 유도하기 때문에 당신은 소프트웨어를 만들때 최대한 그런 만족되지 않은 호출을 최소화 하도록 결과를 유도해야 할것이다. 시작시 가장 좋은 방향은 템플릿상에서의 예외 스펙를 최대한 피하는 것이다. 자 다음의 어떠한 예외도 던지지 않은 템플릿을 생각해 보자.
         이 템플릿은 oprator== 함수를 모든 형에 적용시키는 것이다. 아마 같은 주소에 같은 타입이면 true를 반환하지만 아니라면 그것은 false를 반환한다. 이런 템플릿은 아무런 예외도 던지지 않은 템플릿으로 부터 함수가 만들어지는 상태에 따라 적합한 예외가 포함된다. 하지만 그것은 꼭 사실이 아니다. 왜냐하면 operator&(주소 반환 operator)가가 꼭 같은 몇몇의 형들을 위해서 overload되었기 때문이다. 만약 사실이 그러하다면 operaotr&가 operator== 안쪽에서 불릴때 예외를 던질 것이다. 그렇게 되면 우리의 예외 명세는 거부되고, 곧장 unexpected 로 직진하게 되는거다.
         이러한 특별난 예제는 더 일반적인 문제로, 다시 말하자면 템플릿의 형 인자로 전달되는 예외에 관한 정보를 알아낼 길이 없다는 점도 한몫이다. 우리는 거의 템플릿을 위한 의미있는 예외 명세를 제공할수 없다는 이야기다. 왜냐하면 템플릿은 거의 변함없이 그들이 형 인자를 몇가지의 방식으로만 쓰기 때문이다. 결론은? 템플릿과 예외는 어울리지 않는다.!
         이제 당신은 예외 명세가 많은 문제를 가지고 있을수 있음을 이해 할것이다. 컴파일러는 그들의 부분적인 쓰임새를 검사해서 템플릿에서 문제를 발생할 소지를 않으며, 컴파일러는 의외로 규칙위반을 하기 쉽고, 컴파일러가 제대로 되지 않으면 프로그램을 불시에 멈추어 지도록 유도할것이다. 예외 명세 역시 또다른 문제를 안고 있는데, 예외명세는 높은 수준의 호출자가 예외 발생을 대비할때도 unexpected로의 결과물을 만들어 낸다.
  • EffectiveC++ . . . . 7 matches
         === 항목 41. 계승과 템플릿과의 차이점을 이해한다. ===
         템플릿은 객체의 타입이 클래스의 정의된 함수들의 동작 원리에 영향을 미치지 않는 경우에, 클래스의 모음을 생성하는 데 사용되어야 한다.
         만약 스택을 템플릿이 아닌 계승을 통해 구현하고자 한다면 어떻게 할것인가를 생각해 보고
         생물->동물->인간->학생등의 형식을 템플릿으로 구현하고자 한다고 생각해보자.
         템플릿이 아닌 계승을 통한 스택의 구현이라면 void형 포인터등을 통해 여러 자료형을 동적으로 입력받도록 노력할 것이며
         계층구조를 템플릿으로 묶고자 한다면 템플릿형에 따라 if문을 돌리는등 C, PASCAL의 형식을 따를지도 모른다.
  • HelpOnPageCreation . . . . 7 matches
         == 템플릿 페이지 ==
         템플릿 페이지는 조금 특별하게 취급되는 페이지입니다. 페이지를 만들되 페이지 이름이 "'''Template'''"로 끝나는 페이지를 만들면 그것이 템플릿 페이지가 됩니다. [[FootNote(위키 관리자에 의해서 Template로 끝나는 이름이 아닌 다른 형태의 이름으로 그 설정을 바꿀 수도 있습니다)]] 이렇게 만들어진 템플릿 페이지는 페이지를 새롭게 만드는 경우에 목록으로 제시되게 되며, 템플릿 페이지를 선택하면 그것이 처음으로 편집 폼에서 인용되어 처음 만드는 페이지를 보다 쉽게 만들 수 있게 해줍니다.
         다음의 변수들은 페이지가 최초 저장될 때에 자동으로 적당한 값으로 대치됩니다. 이 변수들은 미리보기할 때는 있는 그대로 나오며, 템플릿 페이지인 경우에는 변수가 대치되지 않고 있는 그대로 저장된다는 사실에 유의해 주세요.
         || @''''''PAGE@ || 페이지 이름 (템플릿 페이지에 주로 유용하게 사용됨) ||
  • Freemarker . . . . 6 matches
         Java Servlet 을 위한 오픈 소스 HTML 템플릿 엔진이다.
         프리마커는 자바 서블릿을 위한 오픈소스 HTML 템플릿 엔진이다. 프리마커에서는 HTML을 템플릿으로 저장하는데 이들은 결국 템플릿 객체로 컴파일 된다. 이 템플릿 객체들은 서블리셍서 제공하는 데이터들을 이용하여 HTML을 동적으로 생성한다. 프리마커 객체들은 서블릿에서 제공하는 데이터들을 이용하여 HTML을 동적으로 생성한다. 프리마커는 고유의 템플릿 언어를 사용하고, 정적인 HTML페이지에 근접한 속도를 자랑한다. ..하략
  • MFC/CollectionClass . . . . 6 matches
          ''두가지 형태로 구현되어있다. 첫번째는 함수템플릿을 이용한 형태로 구현되어있고, 두번째는 템플릿을 사용하지 않는 방법으로 옛 버전의 VC++에서 부터 사용되어온 방식이다. 현재는 템플릿을 이용한 방법을 사용하는 것이 좋다.''
         객체들의 컬렉션은 CArray, CList, CMap 템플릿 클래스들에 의해서 지원된다. 객체 포인터의 컬렉션은 {{{~cpp CTypedPtrArray, CTypedPtrList, CTypedPtrMap}}} 클래스들에 의해서 지원된다.
         객체의 컬렉션을 정의하는 템플릿 클래스는 MFC의 CObject클래스에서 파생된다. 이런 템플릿 클래스는 기본 데이터 형식이나 사용자가 정의한 클래스, 구조체를 포함한 어떠한 종류의 객체도 저장, 관리하는 것이 가능하다. 이런 클래스들은 내부적으로 복사를 하기 때문에 복사생성자를 만들어야 한다.
  • MoreEffectiveC++/Techniques2of3 . . . . 6 matches
         스마트 포인터에 대한 설명은 너무 방대하다. 하지만 여기 RCObject를 가리킬 스마트 포인터가 가지고 있을 능력은 멤버 선택(->), 역참조(deferencing, *) 연산자 정도만 있으면 충분하다. 물론 복사나, 생성은 기본이고 말이다. 참조 세기를 위한 스마트 포인터 템플릿을 RCPtr이라고 명명하고, 기본적인 뼈대를 다음과 같이 구성한다.
         // T 객체를 가리키기 위한 스마트 포인터 클래스 템플릿
         위에서 언급했듯이, 템플릿의 목적은 RCObject의 refCount의 증감을 자동화하기 위한 것이다. 예를 들어서, RCPtr이 생성될때 객체는 참조 카운터를 증가시키키 원할 것이고, RCPtr의 생성자가 이를 수행하기 때문에 이전처럼 일일이 코딩할 필요가 없을 것이다. 일단, 생성 부분에서의 증가만을 생각해 본다.
         다차원의 배열은 C++에 뿐아니라. 다른 언어에서도 유용하다. 그래서 다차원 배열은 최근에 이것들에 지원하는 방법에 대한 중요성이 대두되고 있다. 보통의 방법은 C++에서 표준 중에 하나이다.(필요로한 객체를 표현하기 위해 클래스를 만든다. 하지만 알맞게 구현하기가 어렵다. ) 바로 이차원 배열에 대한 템플릿을 정의할수 있다.
         두번째의 결과, CharProxy가 다른점은 lvalue와 rvalue의 구분을 위해 operator[]가 적용된 프록시 클래스를 사용하는, 참조세기 배열 템플릿이라면, 확연히 드러나는 것이다.
         관계있는 문제로 프록시를 통한 실제 겍체의 호출에서 일어날수 있는데, 할수 없는것에 관한 모호성이다. 예를들어서, 유리수 배열을 참조세기로 구현했다고 해보자. 이것을 Rational 클래스로 정의하고 Array 템플릿을 사용한다. 코드는 다음과 같다.
  • AcceleratedC++/Chapter14 . . . . 5 matches
          이 클래스는 객체의 형에 무관한게 동작하여야 하므로 템플릿으로 작성한다.
         기본 인터페이스는 이전의 Str과 동일하지만 자료구조가 Ptr< Vec<char> > 형으로 정의되었기 때문에 전체적인 메소드의 세부 구현이 많이 변경되었다. 그리고 Ptr템플릿으로 자료구조를 다룸으로서 Str클래스가 동일한 객체를 가리킬 수 있는 기능을 제공한다.
          '''템플릿의 구체화(template specialization)'''
          template<>를 사용하면 특정 인자 타입에 대한 특정 템플릿 함수의 버전을 정의한다.
          이렇게 만들어진 함순느 만약 Vec<char>*가 인자로 오는 경우에는 이 것이 실행되고 다른 버전의 템플릿이 오는 경우에는 그 객체의 clone()버전을 실행하게 된다.
  • MoreEffectiveC++/Efficiency . . . . 5 matches
         자, 다음 예제를 생각해 보자. 수치 데이터의 큰 calloections을 나타네는 클래스들을 위한 템플릿이다.
         뭐시라?(Excuse me?) 당신은 disk controller와 CPU cash같은 저 밑에서 처리(low-level)하는 처리하는 일에 관해서는 신경 안쓰는 거라고? 걱정 마시라(No problem) 미리 가져오기(prefetching) 당신이 높은 수준(high-level)에서 할때 역시 야기되는 문제이니까. 예를들어, 상상해 봐라 당신은 동적 배열을 위하여 템플릿을 적용했다. 해당 배열은 1에서 부터 자동으로 확장되는 건데, 그래서 모든 자료가 있는 구역은 활성화된 것이다.: (DeleteMe 좀 이상함)
          template<class T> // 동적 배열 T에 관한 클래스 템플릿
         다음과 같은 템플릿의 사용으로 operator 할당 버전이 어떠한 형 T로 정의되어져 있는 상태라면 stand-alone operator는 아마도 자동적으로 그것을 생성하게 될것이다.
         이런 템플릿은 거의 위의 코드와 동일해 보이지만 결정적인 차이점이 있다. 바로 두번째의 탬플릿은 result인 '''이름을 가지는''' 객체를 포함한다는 것이다. 이런 이름 있는 객체가 있다는 사실은 최근에 구현된 '''반환 값 최적화'''(return value optimization, Item 20참고)가 operator+에 대하여 작동할수 없다는 것을 의미한다. 두가지중 첫번째 것은 항상 '''반환 값 최적화'''(return value optimization)을 수행하기에 적당하다 그래서 당신이 사용하는 컴파일러가 더 좋은 코드를 만들어낼 가능성이 존재 한다.
  • AcceleratedC++/Chapter11 . . . . 4 matches
          템플릿은 함수뿐만 아니라 클래스에서도 사용하는 것이 가능하다.
          템플릿은 단지 틀일 뿐이며, 사용할때 type parameter로 준 형에 따라서 실제의 클래스를 생성한다.
          템플릿의 스코프 안에서는 타입 매개변수를 생략하는 식의 더 쉬운 표현을 사용할 수 있다.
          Vec::operator= 이 아니라, Vec<T>::operator= 가 원래의 이름이다. 그러나 일단 operator=가 Vec<T>의 멤버라는 사실이 밝혀지면 더이상 템플릿 한정자를 반복할 필요가 없다.
  • MoreEffectiveC++/Techniques1of3 . . . . 4 matches
         template<class T> // 스마트 포인터를 위한 템플릿
         class DBPtr { // 템플릿
         // T객체가 수정되어 해당 log를 남기는 역할을 하는 클래스 템플릿
         auto_ptr 템플릿에 관해서 생각해 보자. Item 9에서 설명한 것과 같이 auto_ptr은 heap-based 객체를 auto_ptr이 파괴 될 때까지 가리키는 역할을 한다. 만약 auto_ptr이 파괴되어지는 경우(존재 지역을 벗어날때) 가리키는 객체는 파괴되어진다. auto_ptr은 다음과 같이 구현되어 있다.
  • 타도코코아CppStudy/0724 . . . . 4 matches
          * 템플릿 : [정우]
          * 템플릿 -> [STL]
          * 템플릿 : [정우]
          * 템플릿 -> OWIKI:STL
  • AcceleratedC++/Chapter8 . . . . 3 matches
          === 8.1.2 템플릿 인스턴스화 ===
          * 컴파일 링크 모델 Compiler : 실제로 인스턴스가 만들어지기 전까지는 템플릿 코드의 유효성을 알 수 없다. 에러는 링크시에 발생
          * 1의 방식으로 작성된 함수으이 rbegin() 같은 템플릿 멤버 함수를 이용해서 역순 검색도 가능하게 작성된다.
  • DesignPatterns/2011년스터디/1학기 . . . . 3 matches
          1. 홀럽에서 말하는 템플릿 메소드 패턴이랑 스프링의 템플릿 패턴은 다른가?(스프링의 패턴이 템플릿 메소드 패턴이었나?)
  • 니젤프림/BuilderPattern . . . . 3 matches
         패스트(정크)푸드 레스토랑 맥도날드에서 어린이용 해피밀을 만들어내는 걸로 예를 들 수 있다. 일반적으로 해피밀은 메인, 사이드, 음료, 장난감 (햄버거, 프라이, 콜라, 매달 바뀌는 장난감)으로 이루어져 있다. 여기서 중요한건, 이런 템플릿이 정해져 있다는 것이다. 요즘 같이 까다로운 아이들에게 어릴때부터 맥도날드의 입맛을 확실히 들여놓으려면 당연히 다양한 바리에이션이 필요하다. 고객은 햄버거나 치즈버거나, 아니면 맥너겟이나 이런걸 선택할 수 있지만, 기본적으로 해피밀이 구성되는 방식에는 변함 없다. 여기서 빌더 패턴을 적용한다면, 카운터에서 주문을 받는 직원을 Director 라고 할 수 있다. 물론 고객은 Customer 이다. 고객이 원하는 바리에이션을 선택해서 해피밀 셋트를 구성하게 되면 (Customer가 Concrete Builder 를 선택한다) Director 는 정해진 템플릿에 따라 주방 직원(Concrete Builder) 에게 의뢰하여 해피밀 세트(Product) 를 만들어 낸다. 여기서 Director 가 Concrete Builder 에게 요구하는 방식은 종류에 따라 비슷 하므로 그것을 추상화시킨 인터페이스를 Builder 라고 할 수 있겠다.
         Product 를 생성하는 템플릿. Abstract Interface 라고도 할 수 있다.
  • 토비의스프링3/밑줄긋기 . . . . 3 matches
         === 템플릿 ===
          * 템플릿이란 이렇게 바뀌는 성질이 다른 코드 중에서 변경이 거의 일어나지 않으며 일정한 패턴으로 유지되는 특성을 가진 부분을 자유롭게 변경되는 성질을 가진 부분으로부터 독립시켜서 효과적으로 활용할 수 있도록 하는 방법이다.
          * 템플릿과 콜백을 찾아낼 때는, 변하는 코드의 경계를 찾고 그 경계를 사이에 두고 주고받는 일정한 정보가 있는지 확인하면 된다고 했다.
  • 3DGraphicsFoundation/INSU/SolarSystem . . . . 2 matches
         // 템플릿 //
         // 템플릿 끝 //
  • 5인용C++스터디 . . . . 2 matches
          * [5인용C++스터디/템플릿]
          * [5인용C++스터디/템플릿스택]
  • STLErrorDecryptor . . . . 2 matches
         VC++를 가지고 STL 프로그래밍을 하시는 분들이 가장 많이 느끼는 불편함(어느 플랫폼이나 마찬가지이지만)중 하나가 바로 "'''에러 메시지에 나타나는 STL 컴포넌트가 무엇인지 도통 모르겠다'''"라는 점일 겁니다. 이는 컴파일러가 STL 템플릿을 인스턴스화할 때 타입 매개 변수가 모두 포함된 상태로 전체 이름을 써 버리기 때문에 STL 책에 나오지도 않는 클래스 이름과 템플릿 이름 등이 마구 튀어나옴은 물론이거니와, 인스턴스화한 클래스 이름 자체가 엄청나게 길어져서, 코드 한 줄에 대한 에러 메시지가 수십 여 줄까지 만들어지는 현상이 일어나지요.
  • 데블스캠프2010/첫째날/후기 . . . . 2 matches
          * 리눅스 커널 링크드 리스트를 구조체를 이용해 설명해주셨었는데, 집중도가 떨어진 상태라 잘 듣지 못했습니다. 기억나는 것은 구조체를 넘기는 것 보단 구조체 포인터를 넘겨라 입니다. 이 말의 의미가 &Struct보단 &(pStruct)를 하라는 의미인가요? 많이 헷갈리더라구요 ㅜㅜ 템플릿에 대한 이야기도 잠깐 해주셨는데, 기억나는건 '템플릿은 좋다'입니다. 그런데 저는 '프로그래머가 자신의 편안을 추구하면 결국 유저에게 그 부담이 간다.'는 생각을 하고 있거든요. 설계가 아닌 문법사용에 있어서요. 앞으로 일반화 프로그래밍을 공부해볼 생각인데, 일단 먼저 오늘 생긴 의문을 풀어줄 부분을 공부해봐야겠네요 ㅋㅋ - [박성현]
  • 장용운/템플릿 . . . . 2 matches
         복습 차원에서 템플릿을 공부하고 연습하였다.
         템플릿 함수를 선언할 때, 선언부와 정의부를 분리하면 에러가 나는데 왜 그런지 모르겠다.
  • 05학번만의C++Study . . . . 1 match
         16. string 클래스와 표준 템플릿 라이브러리
  • 3DGraphicsFoundation . . . . 1 match
          * 인수의 프로그램 [http://165.194.17.15/~nuburizzang/Fracta.exe] : 소스 조올라 더렵다 --; 튜토리얼에서 제공하는 무지막지하게 긴 템플릿을 써서 상당히 길기도 하다. 걍 실행파일만..--; 근데 꼭 심시티 같다--;
  • 5인용C++스터디/템플릿스택 . . . . 1 match
         템플릿 클래스를 이용하여 스택 구현하기.
  • ACM_ICPC . . . . 1 match
         || 모든부분집합 || . || 백트래킹템플릿 || . ||
  • AcceleratedC++ . . . . 1 match
         이제 하루정도면 다 볼거 같은데... 이미 C++의 기본 문법과 템플릿의 용법을 알고 있다면, (05년 스터디의 경우 01학번들) 8장정도 까지만 하면 충분히 이 책에서 볼것은 다 보았다고 보여진다. 만약 처음으로 C++을 접하는 경우 (05년 스터디의 경우 05학번) 마지막 까지 읽어야할 필요가 있음. 물론 상당한 분량의 C++의 깊숙한 내용을 너무 간단하게 다루는 경향이 이 책에 있기 때문에 C++ Primer Plus 같은 책을 같이 보아야할 필요가 있어보인다. 책을 좀 빠르게 읽는 편이라면 2~3일동안 집중해서 본다음에 실전에 적용시켜보는 훈련이 책 잡고 있는 것보다 더 도움이 될 것으로 보인다. 그리고 이 책 -_-;; 예제가 정말로 유기적이다. 예제를 만든 사람이 더 대단해 보인다. - [eternalbleu]
  • AcceleratedC++/Chapter6 . . . . 1 match
          * isspace는 표준 라이브러리에서 지원하는 함수임에다 불구하고, 왜 따로 만들었을까? 바로 isspace는 여러 언어 버젼으로 오버로딩 되어 있기 때문이다. 템플릿 함수의 인자로 오버로딩된 함수를 넘겨주는 것은 쉽지 않다. 어떤 버젼인지 알수가 없기 때문이다. 이것이 우리가 isspace역할을 하는 함수를 새로 만든 이유다.
  • ActiveTemplateLibrary . . . . 1 match
         ATL은 템플릿으로 이루어진 C++ 클래스 집합니다. 이 클래스들은 COM 객체를 프로그래밍하는 과정을 단순화시킨다. VisualC++에서 COM의 지원은 개발자들이 쉽게 다양한 COM객체, Automation 서버, ActiveX 컨트롤들을 생성하도록 해준다.
  • Barracuda . . . . 1 match
         Struts와 비슷한 모델 2 형태의 아키텍처 이지만 스트럿츠 보다 발전된 모델 이벤트 통지 메커니즘을 제공한다. 바라쿠다 프레임 워크는 엄격한 JSP접근 방식과 달리 더 뛰어난 유연성과 확장성을 제공할 수 있도록 템플릿 엔진 컴포넌트를 새로 만들었다. 이 프로임워크에서는 사용자 인터페이스를 생성할 때 XMLC를 이용하여 코드와 컨텐츠를 분할한다. XMLC는 자바 기반의 컴파일로써 HTML과 XML문서를 소스로 읽어 들여 컴파일 하고 자바 클래스 파일을 생성한다. 이 자바 클래스 파일은 런타임에 문서를 재생성하는데 이용된다. ...중략... 마크업과 애플리케이션 로직을 분리한 덕에 웹 디자이너는 마크업에, 프로그래머는 코딩에 집중할 수 있다.
  • C++ . . . . 1 match
         벨 연구소의 [http://www.research.att.com/~bs/homepage.html Bjarne Stroustrup]은 1980년대에 당시의 [C]를 개선해 C++을 개발하였다. (본디 C with Classes라고 명명했다고 한다.) 개선된 부분은 클래스의 지원으로 시작된다. (수많은 특징들 중에서 [가상함수], [:연산자오버로딩 연산자 오버로딩], [:다중상속 다중 상속], [템플릿], [예외처리]의 개념을 지원하는) C++ 표준은 1998년에 ISO/IEC 14882:1998로 재정되었다. 그 표준안의 최신판은 현재 ISO/IEC 14882:2003로서 2003년도 버전이다. 새 버전의 표준안(비공식 명칭 [C++0x])이 현재 개발중이다. [C]와 C++에서 ++이라는 표현은 특정 변수에 1의 값을 증가시키는 것이다. (incrementing이라 함). C++이라는 명칭을 이와 동일한 의미를 갖는데, [C]라는 언어에 증가적인 발전이 있음을 암시하는 것이다.
  • C/C++어려운선언문해석하기 . . . . 1 match
         서 함수 포인터가 사용됩니다. 예를 들자면 가상 함수 테이블, STL의 일부 템플릿 그리고 Win NT/2K/XP의 시스템 서비스에서 사용되는
  • Cockburn'sUseCaseTemplate . . . . 1 match
         [실용주의프로그래머]에 나온 목적 지향성이 있는 유스 케이스 템플릿
  • GenericProgramming . . . . 1 match
         C++에서 템플릿을 이용해서 구현되어 진다.
  • Gof/Command . . . . 1 match
         아마도 CommandPattern에 대한 첫번째 예제는 Lieberman 의 논문([Lie85])에서 나타났을 것이다. MacApp [App89] 는 undo가능한 명령의 구현을 위한 command의 표기를 대중화시켰다. ET++[WGM88], InterViews [LCI+92], Unidraw[VL90] 역시 CommandPatter에 따라 클래스들을 정의했다. InterViews는 각 기능별 명령에 대한 Action 추상 클래스를 정의했다. 그리고 action 메소드에 의해 인자화됨으로서 자동적으로 command subclass들을 인스턴스화 시키는 ActionCallback 템플릿도 정의하였다.
  • JavaStudy2004/클래스상속 . . . . 1 match
          인스턴스 변수의 경우 클래스에 새로운 변수를 만들었다면, 현재 클래스의 변수와 상위클래스에서 정의된 모든 변수를 가질수 있다. 따라서 모든 클래스들의 조합으로 현재의 객체를 위한 템플릿을 형성하게되고 필요한 정보를 채우는 것이다.
  • MFC/AddIn . . . . 1 match
          코드템플릿기능을 이용해서 자동으로 주석 생성을 가능케한다.
  • MicrosoftFoundationClasses . . . . 1 match
          도큐먼트 템플릿 객체는 단순히 document 만을 관리하는 것이 아니다. 그들 각각과 관계되어 있는 윈도우와 뷰들도 함께 관리한다. 프로그램에서 각기 다른 종류의 도큐먼트에 대해서 하나씩의 document template이 존재한다. 만약 동일한 형태의 document가 2개이상 존재한다면 그것들을 관리하는데에는 하나의 document template만 있으면 된다.
  • MobileJavaStudy/Tip . . . . 1 match
         == 일반적인 프로그램 템플릿 ==
  • OurMajorLangIsCAndCPlusPlus/2006.1.12 . . . . 1 match
         템플릿 보충 [OurMajorLangIsCAndCPlusPlus/Function]
  • OurMajorLangIsCAndCPlusPlus/Function . . . . 1 match
         === 템플릿 함수 (C++) ===
  • ParametricPolymorphism . . . . 1 match
         무엇인고 하니, 바로 리턴해야할 객체의 타입을 인수로 준다는 개념이다. ''(C++의 템플릿 같지?)''
  • ProjectZephyrus/ServerJourney . . . . 1 match
          * 기타 class의 템플릿들 입력
  • STL . . . . 1 match
         C++ 의 '표준 템플릿 라이브러리'(C++ 의 표준이다;)
  • STLPort . . . . 1 match
         표준 STL 규격에 맞춰 STLPort 회사가 만든 표준템플릿 STL(Standard Template Language) 오픈소스로써 SGI STL에 기반하고 있음.
  • TeachYourselfProgrammingInTenYears . . . . 1 match
         적어도 반다스의 프로그램 언어를 배우는 것.그 중의 하나는 클래스 추상을 서포트하는 것(예를 들면 Java 나 C++), 하나는 함수 추상을 서포트하는 것(예를 들면 Lisp 나 ML), 하나는 구문 추상을 서포트하는 것(예를 들면 Lisp), 하나는 선언적 기술을 서포트하는 것(예를 들면 Prolog 나 C++ 템플릿), 하나는 coroutine 를 서포트하는 것(Icon 나 Scheme), 그리고 하나는 병렬처리를 서포트하는 것(예를 들면 Sisal)인 것.
  • TemplateLibrary . . . . 1 match
         템플릿 프로그래밍에서 작성되는 코드는 크게 두 부분으로 나누어진다.
  • TheWarOfGenesis2R/일지 . . . . 1 match
          * 가드 직업의 구현 완료. 계속 이 템플릿으로 가면 될거 같다.
  • sibichi . . . . 1 match
          * 일단 무엇보다도 wiki에 적응되어야 본격적으로 활용이 가능할듯. 직접 써보면서 뭐가뭔지 체득을 해야..그래서 일단은 기본 제시된 템플릿사용
  • ssulsamo . . . . 1 match
          * 개인페이지 템플릿 추천 양식입니다. 적당히 고쳐서 쓰세요.
  • 새페이지만들기 . . . . 1 match
          페이지를 만들기 전에 페이지의 양식이 될만한 템플릿들이 제시된다.
  • 위키설명회 . . . . 1 match
          * 템플릿 쓰기 : HomepageTemplate쓰기 설명
  • 위키설명회2005 . . . . 1 match
         [위키설명회2005/템플릿페이지]
  • 이영호/개인공부일기장 . . . . 1 match
         29 (금) - C++(템플릿, Exceptional Handling)
  • 정모/2004.5.7 . . . . 1 match
          - 템플릿 쓰기
  • 정모/2012.3.12 . . . . 1 match
          * 전시회 홍보, 동아리 방 설명에 이어서 OMS가 상당히 인상 깊었던 정모였습니다. 제목만 보고도 그 주제를 고르신 이유를 바로 알았습니다. 전체적으로 Type, Type Safety, Java Generics에 대해서 상당히 깊이 다루지 않았나 싶네요. 사실 제네릭스 모양이 C++의 템플릿과 비슷하게 생겨서 같은 것이라고 생각하고 있었는데 이건 확실히 '만들어진 이유가 다르다'고 할 만 하군요. 그리고 마지막에 이야기했던 Type Erasure는 제네릭스를 구현할 때 JVM 레벨에서 구현하지 않고 컴파일러 부분에서 처리를 하도록 했기 때문에 타입이 지워지는 거라는 얘기를 들었는데 맞는지 모르겠군요. 이거 때문에 제네릭스 마음에 안 들어하는 사람들도 있는 모양이던데. 중간에 이 부분에 대한 개선이 이루어지고 있다는 말씀을 잠깐 하셨는데 컴파일 이후에도 타입 정보가 사라지지 않도록 스펙을 수정하고 있는 건가요? 좀 궁금하군요. 여담이지만 이번에 꽤 인상깊게 들었던 부분은 예상외로 Data Type에 대한 부분이었습니다. 이걸 제가 1학년 여름방학 때 C++ 스터디를 한다고 수경 선배한테 들은 기억이 지금도 나는데, 그 때는 Type이 가능한 연산을 정의한다는 말이 무슨 뜻인지 이해를 못 했었죠 -_-;;; 이 부분은 아마 새내기들을 대상으로 새싹을 할 때 말해줘야 할 필요가 있지 않을까 싶습니다. 아마 당장은 이해하지 못 하겠지만. 후후 - [서민관]
  • 정모/2013.9.4 . . . . 1 match
          * 클린 코드 : SRP(Single Responsibility Principle), DIP(Dependency Inversion Principle) 방식을 공부하였고 디자인패턴 중 템플릿 메소드에 대해서 공부하였습니다.그리고 스레드에 대해서 공부 하였습니다. trello와 github연동하는 방법이 있습니다.상당히 유용할 것같으므로 관심있으신분들은 조금만 찿아보시면 쉽게 하실수있습니다.
  • 졸업논문/서론 . . . . 1 match
         이러한 맥락에서 python언어로 만든 django라는 프레임워크가 존재한다. RoR과 마찬가지로 django를 이용하면 기민하게 동적으로 웹 사이트를 만들 수 있다.[4] Django에서는 모델, 뷰, 템플릿, 세팅 등을 이용하여 웹 사이트를 구축할 수 있는 특징과 함께, 관리자 인터페이스를 자동으로 제공해주는 장점을 가진다. 또한 모델과 데이터베이스를 자동으로 동기화 해주고, 데이터를 삽입, 변경, 삭제할 때 웹 개발자가 직접 데이터베이스에 질의를 던지지 않아도 되도록 데이터베이스 접근을 추상화하였다.
  • 타도코코아CppStudy/0728 . . . . 1 match
          * 폴리모피즘, 가상함수, 템플릿 발표
  • 튜터링/2011/어셈블리언어 . . . . 1 match
          * 난이도가 갑자기 상승하였다? - 그런거같지는 않다. 템플릿을 제공했는데(늦었지만)
Found 59 matching pages out of 7540 total pages (5000 pages are searched)

You can also click here to search title.

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
Processing time 0.4085 sec