比较代码之间可能相差大,可是速度相差很大,而且目的在于测试unique_ptr使用...;
C/C++:
1 #include <iostream> 2 3 4 std::unique_ptr<char[]> strcat_test(std::initializer_list<const char *> li) 5 { 6 std::size_t size{}; 7 std::for_each(li.begin(), li.end(), [&size](const char *str) 8 { size += strlen(str); }); 9 10 std::unique_ptr<char[]> uniq_char(new char[size + 1]); 11 char *temp = uniq_char.get(); 12 13 std::for_each(li.begin(), li.end(), [&temp](const char *str) 14 { 15 std::size_t size=strlen(str); 16 memcpy(temp, str, size); 17 temp += size; 18 }); 19 20 temp[size] = '