博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《C++ Primer》 Part V (Advanced Topics)
阅读量:6321 次
发布时间:2019-06-22

本文共 1051 字,大约阅读时间需要 3 分钟。

1、异常捕获:

#include 
#include
using namespace std; void fun(int i) { if(i<0) throw runtime_error("传入的参数不能是负数!"); cout<<"fun()"<

结果:

 

2、使用预处理器进行调试:

#include 
using namespace std; int main() { int i = -3; if(i >= 0) { cout<<"OK"<

希望显示DEBUG内容时,在编译时使用: g++ test.cpp -o test

不希望显示DEBUG内容时,在编译时使用: g++ test.cpp -o test -DNDEBUG ,切记,不是使用 -g 参数就是 DEBUG 模式!

预处理器还定义了其余四种在调试时非常有用的常量:

__FILE__ 文件名       __LINE__ 当前行号       __DATE__ 文件被编译的日期           __TIME__ 文件被编译的时间

结果:

 

3、使用 assert 来断言 "不可能发生" 的条件:

#include 
int main() { int i = -1; assert(i>0); }

断言中条件如果为 false,会直接导致程序退出。

同样的,在编译时使用: g++ test.cpp -o test -DNDEBUG     则会忽略断言。

assert 对程序的调试有帮助,但不能用来代替运行时的逻辑检查,也不能代替对程序可能产生的错误的检测。

 

4、把输出重定向到文件:

#include 
int main() { std::cout<<"cout"<

编译之后:g++ test.cpp -o test

./test >cout.log     (等同于: ./test 1>cout.log)   把 cout 信息写入到文件中,不显示在屏幕上了。

./test 2>cout.log      把 cerr 信息写入到文件中,不显示在屏幕上了。

在一个程序里,可以约定好,把一些错误信息用 cerr 来输出,而 cout 只用来输出一些屏幕上比较需要的信息。

 

5、

 

 

转载地址:http://bspaa.baihongyu.com/

你可能感兴趣的文章
面试/编程
查看>>
打造一个上传图片到图床利器的插件(Mac版 开源)
查看>>
thinkphp判断更新是否成功
查看>>
高效使用jquery之一:请使用'On'函数
查看>>
人脸识别 开放书籍 下载地址
查看>>
AspNetPager控件的最基本用法
查看>>
sessionKey
查看>>
iOS8 Push Notifications
查看>>
各大名企笔试及面经大全(程序猿必读)
查看>>
轨磁条简介
查看>>
如何设计高扩展的在线网页制作平台
查看>>
Git 2.5增加了工作树、改进了三角工作流、性能等诸多方面
查看>>
云服务正在吞噬世界!
查看>>
高性能 Lua 技巧(译)
查看>>
区分指针、变量名、指针所指向的内存
查看>>
最近话题火爆的四件事你知道不?
查看>>
SpringBoot整合MyBatis
查看>>
Android 类库书签更新(一)
查看>>
Unity3D Input按键系统
查看>>
简单的一条SQL,不简单的做事思维 NOT IN 、NOT EXISTS、LEFT JOIN用法差别 ...
查看>>