我在Java中做了很多...
String something = "A default value.";
try {
something = this.aFunctionThatMightThrowAnException();
} catch (Exception ignore) { }
this.useTheString(something);
现在我正试图找到std::string
的等效方法。这就是我的......
std::string something("A defualt value.");
try {
something = this->aFunctionThatMightThrowAnException();
} catch (const std::exception& ignore) { }
this->useTheString(something);
为了完整性,aFunctionThatMightThrowAnException()
可能是这样的......
std::string MyClass::aFunctionThatMightThrowAnException() {
/* Some code that might throw an std::exception. */
std::string aString("Not the default.");
return aString;
}
我有三个关于C ++版本的问题:
something
传递给aFunction
作为参考更为常见?something
的作业是aFunction...
安全返回吗?具体是最初分配给"A default value."
的内存是否已发布? 答案 0 :(得分:6)
这是解决这类问题的方法吗?
是
或者将某些内容作为参考传递给aFunction更常见吗?
没有
我的任务是从函数返回的东西......安全吗?具体是最初分配给"默认值的内存。"释放?
是
在抛出异常的情况下,是否会出现副作用?
没有