这段代码用智能指针优化: const char** urls = new const char*[url_vector.size() + 1]; for (size_t i = 0; i < url_vector.size(); i++) { urls[i] = url_vector[i].c_str(); }
时间: 2023-06-05 20:06:40 浏览: 106
(const) char 转CString 详解(字符串类型转换详解,不断补充)
很好,这是一个关于代码优化的问题。可以使用智能指针进行优化,如unique_ptr。使用unique_ptr管理动态数组时,需要提供一个删除器,它使用delete[]来释放内存。下面是使用unique_ptr进行优化的代码:
std::unique_ptr<const char*[]> urls(new const char*[url_vector.size()]);
for (size_t i = 0; i < url_vector.size(); ++i) {
urls[i] = url_vector[i].c_str();
}
阅读全文