我在Windows環境中的C++項目之一中看過這段代碼。只是想知道%12.10lg
是什麼意思。任何人有想法?%12.10lg在C++字符串格式化中意味着什麼
class Point
{
double x, y;
public Point::Point(double x_cord, double y_cord)
{
x = x_cord;
y = y_cord;
}
}
void foo(){
Point ptStart(12.5, 33.5678)
TRACE("%12.10lg, %12.10lg, %12.10lg\n", ptStart)
}
可能是字符串替換的項目擴展。你應該看看(看看)TRACE宏的來源。 –
這看起來像一個非常標準的printf樣式格式字符串。 %告訴它做一個變量替換。 「lg」有點奇怪,但'g'表示變量是double(就是這樣),l前綴可能是指定long的平臺方式。 「12.10」表示在小數點前顯示最多12位數字,之後最多顯示10位數字。 –
@Chris,是的,'lg'使它成爲一個'長雙',按照MSDN上的[Size Specification](https://msdn.microsoft.com/en-us/library/tcxf1dw6.aspx)。顯然它實際上沒有什麼區別,內部表示是相同的。 –