PDA

View Full Version : Co ai xu dung Macro trong C++ khong?



g_dragon
14-08-2002, 08:43
A !van de ma tui muon thinh giao la khong biet trong lap trinh C++ ta co nen dung macro khong va nhung truong hop nao thi nen dung nhi? Xin chi giao!

danceswithwolves
14-08-2002, 10:17
Vấn đề không phải là nên dùng hay không mà phải tùy vào tình huống, có cần thiết hay không.

Trong một số trường hợp như support 2 version DEBUG & RELEASE hay viết code để dịch cho platform 9x và NT (API ANSI vs. API WideChar) thì phải dùng macro.

Nếu bạn "chảnh" thì cũng có thể dùng macro để thể hiện tính "chảnh" như ví dụ sau :



#define ever ;;

int main()
{
for(ever)
dostuffs;
}


:) hy vọng nói không tầm bậy lắm !

CrazyBabe
15-08-2002, 09:43
Kè kè, có mà không dùng thì để nó mốc ra à, chả có cái gì thừa đâu bạn ạ.

VoiCoi.NET
23-08-2002, 23:16
Macro is really really COOOOLLLL :)

huutam
27-09-2004, 05:31
theo mình nghĩ thì bạn nên dùng macro thì hơn
vd macro tăng tốc lập trình
inline void max(...)
{

}
//hoặc
inline int stack::empty(...)
{

}

InstCode
27-09-2004, 15:39
Macro và inline là khác nhau nhiều lắm à !
Macro nếu dùng không cẩn thận sẽ gây ra nhiều bug không lường trước được, thậm chí mí ông lập trình viên xiềng mí chục năm kinh nghiệm cũng không ngờ luôn á !
Do đó hãy dùng khi cần thiết và khi macro này đơn giản, ví dụ min, max, printf, check ... đừng nên thiết kế những macro mà làm thay đổi giá trị của biến gởi vào ...
Hãy xem xét việc chọn inline hoặc macro nếu thấy cần tốc độ ...

9m4re
27-09-2004, 22:20
Bạn Instcode nói đúng đó, xài macro nhưng đừng có quá lạm dụng, debug chương trình mà dùng nhiều macro mệt lắm, nhiêu lúc k0 fát hiện ra lỗi đâu cả, tụi nó kêu macro là "dirty code" :-(