- จะวัด relative time จากจุดที่สนใจ
เราสามารถใช้ GetTickCount() ได้ โดยที่ฟังก์ชันนี้ปรกติจะคืน เวลาในหน่วย millisecond นับตั้งแต่เปิดเครื่องขึ้นมาให้เรา - การใช้ class-member static variable ใน C++
วิธีใช้ค่อนข้างจะจุกจิกเล็กน้อยสำหรับ C++ นอกจากเราจะต้องทำการประการไว้ที่ header ของคลาสแล้ว เราจะต้องทำการ initialize มันในระดับ global ด้วย (โดยปรกติกจะ init ไว้หน้า main function)
ตัวอย่าง
class ExperimentLog
{
public:
static fstream* fileLog;
static void initFileLog( CString strDirName, CString strFileName );
static void writeCoordinate( int x, int y, int z );
static void writeAffineParams( float arAffineParam[] );
static void writePts( float arPts[], int nNumPts );
static void writeCurvePtsWithDistance( float arPts[], int nNumPts );
ExperimentLog(void);
~ExperimentLog(void);
private:
static char bufX[8];
static char bufY[8];
static char bufZ[8];
public:
static void test(void);
};
//Initialize static members
fstream* ExperimentLog::fileLog = NULL;
char ExperimentLog::bufX[8];
char ExperimentLog::bufY[8];
char ExperimentLog::bufZ[8];
void main() { ... }
- การแปลงเลขทศนิยมให้เป็น string
มีฟังก์ชันที่ทำหน้าที่นี้ได้อยู่สามตัวคือ _fcvt, _ecvt และ _gcvt แต่ก็ไม่มีอันไหนใช้ง่ายซะทีเดียว ที่ลองใช้มาพบว่าแบบ scienctific น่ะดีที่สุดแล้ว (คือใช้ _gcvt นั่นเอง)
ตัวอย่าง
const int nPrecision = 9;
char* bufAffine = new char[20];
//int nDecimalLocation, nSign;
int nDotPosition;
CString strInitial = "Z Axis (radian): ";
_gcvt( arAffineParam[1], nPrecision, bufAffine );
*fileLog << strinitial = "X Axis (radian): ">
Sunday, June 12, 2005
บันทึก: June 11, 2005
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment