SPI_SPI (char* p1, char* p2)
{
return (*(point*)p1 == *(point*)p2) ? '0' : 'F'; // epsilon
}
這是表明p1等級指向類指針,並給這個指針點類的指針..我是對嗎?在每種情況下,我都沒有得到指針,請向我推薦一個與之相關的有用鏈接......或者向我解釋這一點。需要指標幫助
SPI_SPI (char* p1, char* p2)
{
return (*(point*)p1 == *(point*)p2) ? '0' : 'F'; // epsilon
}
這是表明p1等級指向類指針,並給這個指針點類的指針..我是對嗎?在每種情況下,我都沒有得到指針,請向我推薦一個與之相關的有用鏈接......或者向我解釋這一點。需要指標幫助
即函數比較使用通過鑄造通過char*
指針引用的點結構,用於point
對象指定的比較的兩個點。
該代碼等於:
// casting char* to point*
point* ptPointer1 = (point*)p1;
point* ptPointer2 = (point*)p2;
// extracting values
point pt1 = *ptPointer1;
point pt2 = *ptPointer2;
// comparing by value
return pt1 == pt2 ? '0' : 'F';
您正在比較p1指向的值(轉換爲點類)與p2指向的值(也轉換爲點類)。如果它們相等,則返回'0',否則返回'F'。你的函數沒有返回值,除非它包含在SPI_SPI中,這會使它成爲一個宏。這種宏觀使用強烈推薦(我至少)。另外,通常最好大寫類(Point)。
原始代碼:
SPI_SPI (char* p1, char* p2)
{
return (*(point*)p1 == *(point*)p2) ? '0' : 'F'; // epsilon
}
作爲一個普通的函數這一定義缺乏的結果類型,並且是無效的代碼。作爲構造函數,它試圖返回一個值,並且是無效的代碼。所以無論如何這是無效的代碼。
關於你的問題,我沒有解析它:這似乎是無稽之談。
乾杯&第h。,
如果我猜測,我會說SPI_SPI是一個宏,它的計算結果是有效函數定義的開始。 – Splat 2010-11-13 02:07:46
你到底想幹什麼? – 2010-11-01 05:04:04
我想知道指針..我沒有得到這個函數..因爲我知道它顯示P1轉換爲點類指針,而不是Giev指針..我是對嗎? – piyapiya 2010-11-01 05:05:24