|
1
9
将默认设置也保留为成员…并返回对它的引用。当然,如果默认情况在理论上是可能的。如果不是,抛出异常,不要返回任何内容。
|
|
|
2
4
|
|
|
3
0
不能返回对在堆栈上创建的临时对象的引用。函数返回时,我将被破坏,您的应用程序将崩溃。 如果你打算做那样的事情,你必须按价值而不是参照返回,也就是说。
这显然会影响性能,因为最终很可能会调用复制构造函数来获取其他引用。另一种方法是避免在堆栈上创建临时对象。根据应用程序的不同,有几种方法可以做到这一点,比如拥有一个简单的池,从中获取临时对象,并在某个时刻被垃圾收集,或者可以让dirlist接受一个由函数填充的stringset参数。 最好的情况-你不能在某个地方设置一个永久默认值吗?每次通话都必须是唯一的吗? |
|
|
4
0
不一定总是正确的选项,但是为了它的价值,您可以为此使用shared-ptr——用一个空的删除程序构造一个shared-ptr,并返回如果字符串集已经存在,否则构造一个指向空集并有一个普通的删除程序并返回它。换句话说:
|
|
|
5
0
您可以将一些指令放入不可能的case默认处理程序中,以表示它是不可访问的。编译器特定且不可移植,但大多数编译器都有一些功能。我只是不记得GCC是怎么拼写的。 编辑 找到语法…
正如我所说的,这是一个GCC特定的特性,但是有一个不同的拼写VisualC++的等价物。
顺便说一句-总是有
编辑 或者抛出异常。 不管是哪种方式(也许是例外),只有当你 真正地 当然不会发生。 |
|
|
6
-2
如果我正确理解你……
|
|
|
Kris · 有没有办法获得可变结构字段的“引用” 3 年前 |
|
|
Jora Karyan · IF语句未按预期引发错误 3 年前 |
|
|
nedzad · 如何访问引用Firebase中其他对象的对象 7 年前 |
|
|
Empha · 从成员函数对对象所做的更改不会持续。范围/参考问题? 7 年前 |