38 lines
531 B
C++
38 lines
531 B
C++
#include <iostream>
|
|
|
|
using namespace std;
|
|
|
|
class bar {
|
|
|
|
};
|
|
|
|
// java 程序员风格
|
|
void foo() {
|
|
cout << "method 1" << endl;
|
|
bar *ptr = new bar();
|
|
delete ptr;
|
|
}
|
|
|
|
bar *make_bar() {
|
|
bar *ptr = nullptr;
|
|
try {
|
|
ptr = new bar();
|
|
} catch (...) {
|
|
delete ptr;
|
|
throw;
|
|
}
|
|
return ptr;
|
|
}
|
|
// 独立出函数 分配和释放不在一个函数里
|
|
void foo1() {
|
|
cout << "method 2" << endl;
|
|
bar *ptr = make_bar();
|
|
delete ptr;
|
|
}
|
|
|
|
|
|
int main() {
|
|
foo();
|
|
foo1();
|
|
return 0;
|
|
} |