![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
一个C++异常处理的问题?
第一张图,我是用out_of_range关键字,这是C++内置的。然后传入一句话,根据函数定义是合法的。这个程序的运行结果是catch抓到了throw的抛出异常,所以顺利...
第一张图,我是用out_of_range关键字,这是C++内置的。然后传入一句话,根据函数定义是合法的。这个程序的运行结果是catch抓到了throw的抛出异常,所以顺利进入了catch里面的cerr并输出。第二幅图里有catch,如果这个catch进去了,就说明out_of_range返回了一个类,对吧……但是您看out_of_range的定义,out_of_range(const char*)这个构造函数后面只有_GLIBCXX_TXN_SAFE这个东西,这个应该是一个宏替换的标识符。所以我找到了这个宏替换的位置,结果它什么也没有替换啊……难道类内构造函数后面接一个这样的标识符有什么别的用法吗?
展开
展开全部
前面的都没啥可说的,就说后面这个东西,_GLIBCXX_TXN_SAFE。
我翻了一些资料,out_of_range和logic_error这些都是C++的标准库,我自己的开发环境和网上的一些代码截图里面都没有你这个宏在里面,再加上你这个宏的内容是空,因此推断这个宏是一个供代码阅读的标识符?
这种内容为空的宏,我们一般是当作某些代码的开关使用的~
我翻了一些资料,out_of_range和logic_error这些都是C++的标准库,我自己的开发环境和网上的一些代码截图里面都没有你这个宏在里面,再加上你这个宏的内容是空,因此推断这个宏是一个供代码阅读的标识符?
这种内容为空的宏,我们一般是当作某些代码的开关使用的~
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询