|
|
1
3
在C++中你可以做
如果希望将字符串放在堆中,则在调用者处理完字符串后,删除(通过在指针上调用delete)调用者中的字符串。但是在你发布的第一个版本中,我看没有问题。它是一个堆栈变量,但当然它在调用者中仍然有效,因为它是返回值。 |
|
|
2
3
它不会丢失它的值,因为它将被复制(尽管编译器可以将复制作为优化省略)。 所以不用担心,这在C++中是很好的。 您还可以返回指向动态分配内存的指针,但这会增加使用难度,因为客户端必须显式释放内存。一般来说,这不是一个好的解决方案,处理指向动态内存的原始指针是导致内存泄漏的首要原因,清理此类代码非常糟糕。
更好的方法是使用智能指针(例如。
|
|
|
3
1
你的
|
|
|
4
1
您的Obj-C代码与编码样式和内存管理规则相违背。它应该看起来像:
|
|
|
George Kim · 如何在iOS中模拟特定坐标空间中的触摸? 2 年前 |
|
|
BENG · 协调C++和Objective-C中结构的填充 2 年前 |
|
|
Community wiki · iPhone上ivar的继承问题 2 年前 |
|
|
Community wiki · 在OpenGL中显示YUV 2 年前 |
|
|
YosiFZ · pod更新依赖关系pod 2 年前 |
|
|
Community wiki · 查找iOS日历 3 年前 |