使用适当的智能指针优化下面的程序
2017-05-25 19:57
399 查看
#include <iostream> #include <cstring> char *get(const char *s) { int size = std::strlen(s); char *text = new char[size + 1]; std::strncpy(text, s, size + 1); return text; } void print(char *text) { std::cout << text << std::endl; } int main(int argc, char *argv[]) { if (argc < 2) { std::cerr << argv[0] << " <data>" << std::endl; return 1; } char *text = get(argv[1]); print(text); delete[] text; }
#include "boost/shared_ptr.hpp" #include <iostream> #include <cstring> boost::shared_ptr<char> get(const char *s) { boost::shared_ptr<char> txt(new char[std::strlen(s)+1]); strcpy_s(txt.get(), std::strlen(s)+1, s); return txt; } void print(boost::shared_ptr<char> text) { std::cout << text << std::endl; } int main(int argc, char *argv[]) { if (argc < 2) { std::cerr << argv[0] << " <data>" << std::endl; return 1; } boost::shared_ptr<char> text(get(argv[1])); print(text); return 0; }
相关文章推荐
- 智能指针与memmove同时使用,造成程序崩溃
- 浅谈使用智能建站程序更利企业建站优化
- delphi中使用指针优化程序性能
- 使用Xdebug调试和优化PHP程序[3]
- 使用Xdebug调试和优化PHP程序[2]
- 使用Xdebug调试和优化PHP程序之[1]
- 使用Xdebug调试和优化PHP程序
- 使用Xdebug调试和优化PHP程序[1]
- 使用Xdebug调试和优化PHP程序[2]
- 使用Xdebug调试和优化PHP程序[2]
- 使用Xdebug调试和优化PHP程序[3]
- 使用Xdebug调试和优化PHP程序[3]
- 使用GProf来优化你的C/C++程序
- 使用Xdebug调试和优化PHP程序[2]
- 使用Xdebug调试和优化PHP程序[1]
- 使用Xdebug调试和优化PHP程序[3]
- 使用Xdebug调试和优化PHP程序[3]
- 使用GProf来优化你的C/C++程序
- [ADO&VC一]使用ADO智能指针_ConnectionPtr,_CommandPtr及_RecordsetPtr
- 使用Xdebug调试和优化PHP程序[2]