0
所以,我感興趣的是一個類似於__LINE__
的宏,但不是返回行號,而是可以返回給定行內的位置。C++宏與__LINE__類似,但在給定行中找到位置?
它可能是在列或字符方面的位置。例如,在代碼:
#define THISCHAR
int main(void)
{
THISCHAR
}
宏CHAR
返回值應當是5,因爲它在它的線的字符5的位置,或可能返回1,因爲它是第一個非空的炭該線。任何一個選項都可以爲我工作。
在編譯期間可以實現這樣的事情嗎?
不,這在我知道的任何編譯器中不受支持,因爲在標記化過程中空白字符被剝離。其次,由於預處理器中的令牌替換,很難判斷一行中的某個位置(在函數調用之後)是否在宏之後,並且會涉及預處理器的另一次傳遞。 – callyalater