学习的内容总结
1学习C++的内容总结
在这个寒假我在Mooc上看了C++的课程,学习了类的构造等方面知识,在边学习变对着视频打代码,在实践中学习了一些C++的知识,认识到C++这一语言的奇妙之处。学习了输入输出流,认识到了输入输出流的方便之处,很多在C中很麻烦的输入输出在输入流和输出流中就显得简单很多。学习了用C++处理字符串的问题,
如:
#include<iostream>
#include<string.h>
#include<sstream>
using namespace std;
int main()
{
string line;
while(getline(cin,line)){
int sum=0,x;
strinfstream ss(line);
while(ss>>x) sum+=x;
cout << sum <<"\n";
}
return 0;
}
在这个代码中,输入数据的每一行包含若干个以空格隔开的整数,输出每一行整数之和如果用C语言表达,会比较麻烦。
在C++中,还学习了引用,,(如```&a```)提高了代码的可读性。还学习了引用的使用方法,如用引用来交换两个变量。
如:
#include<iostream>
using namespace std;
void swap(int &a,int &b){
int t;
t=a;a=b;b=t;
}
int main()
{
int a=6,b=5;
cout << a<<" "<<b<<"\n";
return 0;
}
学习了类,在类这一块的学习中,类不仅有成员变量,还有成员函数,构造函数,认识到了类的复用性,维护性,扩展性等。
还学习了模板,如一下函数只能求整数的和。
int sum(int *begin,int *end){
int *p=begin;
int ans=0;
for(int *p=begin;p!=end;p++) ans+=*p;
return ans;
}
如果将函数改为模板
template<typename t>
T sum(T* begin,T*end){
T *p=begin;
T ans=0;
for(T *p=begin;p !=end;p++)
ans+=*p;
return ans;
}
就可以用来算double型的数组了。
C++还有其他方面的知识,还在学习中。
C++学习中的问题
我在一本C++的书中看到,C++流不是完美的,其最大的缺点就是运行太慢因此我想知道为什么C++的流运行速度太慢。因为上课看视频时,老师讲的比较详细,而且现在与C++的接触也不多,可能以后会出现的问题更多。做电梯问题的心得
在做电梯问题时,我想了很久,但是每次去做的时候,都觉得还没有把一些问题讨论清楚而不敢往下,后来才发现,有些问题,时第一遍的时候讨论不完的要先把整体大概写下来再来对那些细节的问题一一讨论。并且,要先有个开始,才会一步步往下写。
2我发现用穷举法没办法一下子把最终题目要求的的答案打出来只能把电梯接人的顺序给打印出来。后来想了一下,就着那个给出来的顺序。
3在做电梯问题的时候,我还学习到了很多算法,我认为在打电梯问题的过程中,我学习到了很多。代码练习
1
2
3
4