我首先学习了C#,现在我开始使用C++.据我所知,newC++中的operator 与C#中的operator 不相似.
你能解释一下这个示例代码中内存泄漏的原因吗?
class A { ... };
struct B { ... };
A *object1 = new A();
B object2 = *(new B());
Run Code Online (Sandbox Code Playgroud) 我遇到了Objective-C的这个片段:
NSNumber *theBalance =
[[[NSNumberFormatter alloc] init]
numberFromString: [textField text]];
Run Code Online (Sandbox Code Playgroud)
这似乎泄漏了NSNumberFormatter.在C++中,我会做两件事之一:
auto(即堆栈)存储NSNumberFormattershared_ptr)来管理生命NSNumberFormatter在Objective-C中,这些选项似乎都不可能.我试过堆栈:
NSNumberFormatter fmt;
Run Code Online (Sandbox Code Playgroud)
但这不编译.据我所知,Objective-C中没有与RAII直接等价的东西.我可能从错误的角度看问题是一个主要的C++程序员,所以:
NSNumberFormatter这里的对象的生活?我真的必须自己明确地做吗?pointers ×2
arrays ×1
c ×1
c++ ×1
c++-faq ×1
ios ×1
iphone ×1
memory-leaks ×1
new-operator ×1
objective-c ×1
raii ×1