Hỏi về khai báo class

Cho em hỏi cách khai báo class (trong opencv):

template< typename _Tp> class CV__EXPORTS Point_ {...}

ngoài ra, 1 số hàm cũng có khai báo kiểu:

CV_EXPORTS void scalarToRawData(...);

thì ý nghĩa của CV_EXPORTS trong câu lệnh là gì.
( CV_EXPORTS đã được define trc đó)

CV_EXPORTS xem nó được define như thế nào mới biết rõ được.

Nếu platform là windows thì CV_EXPORTS sẽ là __declspec(dllexport) dùng để load thử viện dll cho visual studio, còn platform khác thì CV_EXPORTS không có gì hết.

#if (defined WIN32 || defined _WIN32 || defined WINCE) && defined CVAPI_EXPORTS
#  define CV_EXPORTS __declspec(dllexport)
#else
#  define CV_EXPORTS
#endif

https://msdn.microsoft.com/en-us/library/a90k134d(v=vs.80).aspx

2 Likes

ok e đã hiểu chỗ define rồi. Nhưng vẫn thấy hơi lạ vì kiểu khai báo có sử dụng macro như thế này

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?