gpt4 book ai didi

C++ 宏类似于 __LINE__ 但要在给定行中找到位置?

转载 作者:行者123 更新时间:2023-11-28 01:50:20 34 4
gpt4 key购买 nike

所以,我感兴趣的是一个类似于 __LINE__ 的宏,但不是返回行号,而是返回给定行内的位置。

它可以是行中的列或字符位置。例如,在代码中:

#define THISCHAR
int main(void)
{
THISCHAR
}

CHAR 应该返回 5,因为它位于该行第 5 个字符的位置,或者可能返回 1,因为它是该行的第一个非空字符。两种选择都适合我。

这样的事情有可能在编译期实现吗?

最佳答案

据我所知,没有。虽然有些是由 C99 标准定义的,但这些宏的其余部分是特定于您的编译器的,并且 AFAIK 不是由语言本身定义的。

如果您使用的是 Visual Studio,下面是预定义宏的列表: https://msdn.microsoft.com/en-us/library/b0084kay.aspx那里也是标准的。

我确实想知道您会用这样的宏做什么。对于

__LINE__

它通常用于标记发生错误的表达式,例如用作异常中的字段。我无法理解列的用途,因为事物被评估为语句和表达式,而不是一次一个字符。

关于C++ 宏类似于 __LINE__ 但要在给定行中找到位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43235805/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com