c 返回对象时,如何处理异常情况?
- 内容介绍
- 文章标签
- 相关推荐
本文共计214个文字,预计阅读时间需要1分钟。
以下是对您提供的代码的简化版本,不超过100个字:
cif (rc > 0) { submatch(sm, Str, ovector, rc); return sm;} else { return nullptr;}
这段代码检查`rc`的值,如果大于0则调用`submatch`函数并返回结果,否则返回`nullptr`。
如下代码如下代码
12345678submatch foo(...){ if (rc > 0){ submatch sm(Str, ovector,rc); return sm; } else { return nullptr; }然而这个语句不能成立,因为函数返回的签名不是指针,不能用nullptr
但我又不希望用指针,因为用了指针,调用这要负责delete,这是不希望的
我希望C++能和python类似,如果异常返回None,类似nullptr,调用着也不需要关心delete对象的问题
1234auto m = foo();if (m 不是null) { 操作m}无需delete m
本文共计214个文字,预计阅读时间需要1分钟。
以下是对您提供的代码的简化版本,不超过100个字:
cif (rc > 0) { submatch(sm, Str, ovector, rc); return sm;} else { return nullptr;}
这段代码检查`rc`的值,如果大于0则调用`submatch`函数并返回结果,否则返回`nullptr`。
如下代码如下代码
12345678submatch foo(...){ if (rc > 0){ submatch sm(Str, ovector,rc); return sm; } else { return nullptr; }然而这个语句不能成立,因为函数返回的签名不是指针,不能用nullptr
但我又不希望用指针,因为用了指针,调用这要负责delete,这是不希望的
我希望C++能和python类似,如果异常返回None,类似nullptr,调用着也不需要关心delete对象的问题
1234auto m = foo();if (m 不是null) { 操作m}无需delete m

