C++primer 12.2.1节练习

练习12.23

字符串常量

 1 #include <iostream>
 2 #include <string>
 3
 4 using namespace std;
 5
 6 int main()
 7 {
 8     char a[] = "hello";
 9     char b[] = "world";
10     char * pa = new char[10];
11     pa = a;
12     for (auto i = 0; i != 5; ++i)
13         cout << pa[i];
14     cout << endl;
15     for (auto i = 0,j = 5; i != 5; ++i, ++j)
16     {
17         pa[j] = b[i];
18     }
19     for (auto i = 0; i != 10; ++i)
20         cout << pa[i];
21     cout << endl;
22     system("pause");
23     return 0;
24 }

string对象

 1 #include <iostream>
 2 #include <string>
 3
 4 using namespace std;
 5
 6 int main()
 7 {
 8     string str1;
 9     string str2;
10     while (cin >> str1 >> str2)
11     {
12         string * str = new string[50];
13         *str = str1 + str2;
14         cout << *str << endl;
15         delete[] str;
16     }
17     system("pause");
18     return 0;
19 }

练习12.24

 1 #include <iostream>
 2 #include <string>
 3
 4 using namespace std;
 5
 6 int main()
 7 {
 8     string str1;
 9     while (cin >> str1)
10     {
11         char * str = new char[str1.size()];
12         for (auto i = 0; i != str1.size(); ++i)
13             str[i] = str1[i];
14         for (auto i = 0; i != str1.size(); ++i)
15             cout << str[i];
16         cout << endl;
17         delete[] str;
18     }
19     system("pause");
20     return 0;
21 }

可以使用输入的字符串的长度来动态的分配字符长度;

练习12.25

1 delete[] pa;
时间: 2024-10-13 02:21:02

C++primer 12.2.1节练习的相关文章

C++primer 12.2.2节练习

练习12.26 1 #include <iostream> 2 #include <string> 3 #include <memory> 4 5 using namespace std; 6 7 int main() 8 { 9 string str; 10 allocator<string> alloc; 11 auto p = alloc.allocate(15); 12 auto q = p; 13 while (cin >> str &

Egret入门学习日记 --- 第二十四篇(书中 9.12~9.15 节 内容)

第二十四篇(书中 9.12~9.15 节 内容) 开始 9.12节 内容. 重点: 1.TextInput的使用,以及如何设置加密属性. 操作: 1.TextInput的使用,以及如何设置加密属性. 创建exml文件,拖入组件,设置好id. 这是显示密码星号处理的属性. 创建绑定类. 实例化,并运行. 但是焦点在密码输入框时,密码是显示的. 暂时不知道怎么设置 “焦点在密码框上时,还是显示为 * 号” 的方法. 至此,9.12节 内容结束. 开始 9.13节 . 这个,和TextInput的使用

C++primer 15.7.3节练习

练习15.26 写的时候不小心写到了派生类Disc_quote,其实是一样的,主要明白原理即可 1 #include <iostream> 2 #include <string> 3 #include <utility> 4 #include <memory> 5 #include <vector> 6 7 using namespace std; 8 9 class Quote { 10 public: 11 Quote() : bookNo(

C++primer 15.2.2节练习

练习15.4 a)错误,一个类不能派生它本身 b)正确,Derived从他的基类Base派生,且规定派生类从基类继承的数据成员对于派生类的用户是不可见. c)错误,派生类的声明与其他类相差不大,声明中包含类名但是不包含他的派生列表: 练习15.5 1 #include <iostream> 2 #include <string> 3 #include <utility> 4 #include <memory> 5 #include <vector>

C++primer 14.2.1节练习

练习14.6 1 #include <iostream> 2 #include <string> 3 #include <memory> 4 #include <vector> 5 #include <algorithm> 6 #include <numeric> 7 8 using namespace std; 9 10 class Sales_data { 11 friend istream& operator >&

C++primer 15.7.4节练习

练习15.27 1 #include <iostream> 2 #include <string> 3 #include <utility> 4 #include <memory> 5 #include <vector> 6 7 using namespace std; 8 9 class Quote { 10 public: 11 Quote() : bookNo(""), price(0.0) { cout <<

C++ Primer 6.5.3节练习

练习 6.47: 改写6.3.2节(第205页)练习中使用递归输出vector内容的程序,使其有条件地输出与执行过程有关的信息.例如,每次调用时输出vector对象的大小.分别在打开和关闭调试器的情况下编译并执行这个程序. ///这一题需要在前面输出vector内容的程序中,添加新的功能---->有条件地输出与执行过程有关的信息. 为了简便解答该题,我们采用vector引用,vector的类型是string型,在过程中不改变容器大小. 经过测试得到一个现象,编译器将会按照 #define DEB

C++primer 11.3.5节练习

练习11.27 对于multimap来说统计关键字出现的次数用count会很好,而对于map来说寻找关键字来说更加妥当: 练习11.28 1 #include <iostream> 2 #include <string> 3 #include <set> 4 #include <map> 5 #include <algorithm> 6 #include <vector> 7 #include <algorithm> 8

C++primer 11.2.3节练习

练习11.12 1 #include<iostream> 2 #include<string> 3 #include <iostream> 4 #include <vector> 5 #include <algorithm> 6 #include <list> 7 #include <functional> 8 #include <iterator> 9 #include <map> 10 #inc