小编lol*_*ndo的帖子

如何在C++程序中获取错误行号

我想处理我的c ++程序中的错误,所以我创建了一些异常类来管理这些错误,但是我想指定程序中哪一行发生了错误.

我将LINE宏传递给我的异常类的构造函数.

例如:

void f(int i){ // LINE A
  if(i<0)
    throw(OutOfRange("message", __LINE__); // LINE B
}

void main(){

  try{
    f(-6); // LINE C
  }
  catch(const OutOfRange& error){
    //do something
  }

}
Run Code Online (Sandbox Code Playgroud)

在这个例子中,我只能获得LINE B编号,但我想获得LINE A和LINE C编号.

任何想法,在哪里以及如何使用LINE宏?

谢谢.

c++ exception line

12
推荐指数
1
解决办法
1万
查看次数

std :: logical_not和std :: not1之间的区别?

请举例说明何时使用std::logical_not以及何时使用std::not1!

根据文档,前者是"一元函数对象类",而后者"构造一元函数对象".所以在一天结束时都构造了一个一元函数对象,不是吗?

c++ std

5
推荐指数
1
解决办法
824
查看次数

为什么C++全局变量不会影响程序的内存使用

在我的程序中,我声明了一个初始化的全局变量(作为数组).但它只影响可执行文件的大小,程序的内存使用量不受影响.

我的程序就是这样

char arr[1014*1024*100] = {1};

int _tmain(int argc, _TCHAR* argv[])
{
    while (true)
    {

    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

可执行文件的大小为118MB,但运行程序时的内存使用量仅为0.3MB

有人能为我解释一下吗?

c c++

3
推荐指数
1
解决办法
457
查看次数

标签 统计

c++ ×3

c ×1

exception ×1

line ×1

std ×1