{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

C++-Template-Tieng Viet - Bi ny s gii thiu cho bn v...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon
Bài này s gi i thi u cho b n v template trong c++. 1. Template là gì ? Template gi ng nh m t "c máy" có kh năng s n xu t ra các hàm và l p d a vào ki u c a các tham s . B ng ư cách s d ng template, b n có th ch c n thi t k 1 l p (hàm) mà có kh năng thao tác v i nhi u lo i d li u ế ế khác nhau, thay vì b n ph i t o nhi u l p (hàm) khác nhau đ thao tác v i t ng lo i d li u khác nhau. Ví d nh , đ t o m t hàm có tác d ng l y giá tr nh nh t c a 2 s mà không s d ng template, b n ph i vi t ư ể ạ ế các hàm nh sau : ư // min for ints int min( int a, int b ) return ( a < b ) ? a : b; // min for longs long min( long a, long b ) return ( a < b ) ? a : b; // min for chars char min( char a, char b ) return ( a < b ) ? a : b; //etc... Nh ng n u s d ng template, b n có th gi m s l ng hàm ph i vi t xu ng ch còn m t hàm nh sau : ư ế ố ượ ế ư template <class T> T min( T a, T b ) return ( a < b ) ? a : b; Nh ng t t c nh ng cái đó ta đ u có th vi t mà không c n dùng template ! T t nhiên b n hoàn toàn có th vi t ư ế ế mã mà không c n dùng template nh ng n u dùng template b n có th ti t ki m đ c công s c vi t mã, tăng ư ế ế ượ ế thêm tính linh đ ng c a ch ng trình và m t đi u quan tr ng là kh năng s d ng l i cao. B n cũng nên chú ý là ươ template là type-safe, có nghĩa là trình biên d ch không t chuy n ki u (type cast) mà b n ph i chuy n nó 1 cách t ng minh. ườ Đây là prototype chung cho template : template < [typelist] [, [ arglist ]] > declaration decaration ph i là m t hàm ho c l p. 2. Function template
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Image of page 2
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}