练习12.23:
连接两个字符串字面常量
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <string>
using namespace std;
#include <vector>
#include <fstream>
int main()
{
//字符串字面常量
char p1[] = "lucky ";
char p2[] = "man";
unique_ptr<char[]>up(new char[12]);
char p3[12] = {};
//使用C语言函数strcat合并
strcat(p3, p1);
strcat(p3, p2);
for (int i = 0; i < sizeof(p3); ++i)
{
up[i] = p3[i];
}
for (size_t i = 0; i != 12; i++)
{
cout << up[i] << " ";
}
cout << endl;
system("pause");
return 0;
}
连接两个标准库string对象
#include <iostream>
#include <string>
using namespace std;
#include <vector>
#include <fstream>
int main()
{
//字符串字面常量
string p1 = "lucky ";
string p2 = "man";
unique_ptr<char[]>up(new char[12]);
string p3 = p1 + p2;
for (int i = 0; i < p3.size(); ++i)
{
up[i] = p3[i];
}
for (size_t i = 0; i != p3.size(); i++)
{
cout << up[i] << " ";
}
cout << endl;
system("pause");
return 0;
}
练习12.24:使用标准输入的字符串长度作为动态分配字符数组的长度
#include <iostream>
#include <string>
using namespace std;
#include <vector>
#include <fstream>
int main()
{
//字符串字面常量
string s;
getline(cin, s);
size_t lenth = s.length();
unique_ptr<char[]>up(new char[lenth]);
for (int i = 0; i < s.length(); ++i)
{
up[i] = s[i];
}
for (size_t i = 0; i != lenth; i++)
{
cout << up[i];
}
cout << endl;
system("pause");
return 0;
}
练习12.25:使用delete [] pa释放内存
int* pa = new int[10];
delete[] pa;