这是ANSI C 预定义的,
__LINE__ ,包含当前行号,一个十进制常量;
 #line指令用于改变 __LINE__的内容;
先看一下VC6控制台程序,

printf这行是第五行,输出了 5 ;
使用#line重新定义了行号,#line 100,则这句后面的一行是100行,输出如下;
 
 
#include <stdio.h>
  
#line 100
int main()                             // line 100
{                                      // line 101
	printf("%d\n",__LINE__);       // line102
	return 0;
}VC6 单文档工程;开发环境中看一下,str1.Format(...)这行是63行;
 
 
运行之后输出如下;
 
 
使用#line后输出如下;
 
 
void CLinetestView::OnDraw(CDC* pDC)
{
	CLinetestDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	// TODO: add draw code for native data here
	CString str1;
	#line 1000
	str1.Format("当前行:%d", __LINE__);
	pDC->TextOut(50, 50, str1);
}















![【LeetCode】数据结构题解(10)[有效的括号]](https://img-blog.csdnimg.cn/8053b819151947b7ad416333e3019636.png)



