(1)第一阶段
从80年代到1995年。这一阶段C++语言基本上是传统类型上的面向对象语言,并且凭借着接近C语言的效率,在计算机软件业和工业使用计算机的开发语言中占据了具大份额[9]。
(2)第二阶段
从1995年到2000年间,这段时间因为标准模板库(STL)和随后的Boost等程序库的出现,泛型程序设计在C++中占得比例越来越大。同时由于VB、Java、C#等语言的出现和硬件价格的大幅下降,从而使C++受到了一定的冲击。
(3)第三阶段
从2000年到现在,由于以Loki和MPL等程序库为代表的产生式编程和模板元编程的出现,C++出现了发展史上又一个崭新的高峰,这一点的出现加上原有技术的融合,使C++已经成为当今主要程序设计语言中最复杂的一种[10]。
3.1.4 C++的优缺点
(1) 优点:
• C++程序设计成为了静态类型,和C同样高效并且是可移植的多用途程序设计语言[11]。
• C++程序设计成为广泛的和直接的支持多种程序设计风格(面向对象的程序设计、资料抽象化、程序化的程序设计、泛型的程序设计)[11]。
• C++程序设计成给程序设计者带来了更多的选择,即便可能会导致程序设计者选择错误[12]。
• C++程序设计成最大可能与C语言的兼容,借此提供了一个从C到C++的自然过渡[12]。
• C++程序设计避免平台的局限性或者是没有普遍用途特性。
• C++程序设计不使用会带来额外的开销。
• C++程序设计设计成不需要复杂的程序设计环境。
(2) 缺点:
C++语言由于其本身过度复杂,这甚至使人类难于理解他的语义。更加糟糕的是C++的编译平台受到C++的复杂性的干扰,异常的难于编写,即使能够熟练的使用编译器也会存在大量的问题,这些问题很难被发现,加上线程的原语等缺点。不过有这么多的知名人士提出了这么多的缺陷,正面的证明了C++被广泛使用和成功的这一现状。
因为C++语过度的复杂性,以及与unix的很多地方的抵触,在unix/linux领域受到很多著名人士的强烈的批评和抵制[13]。
3.2 程序语言的编写
3.2.1 编写程序
在Visual Studio 的环境下编写程序语言,完整的程序代码请见附录。
3.2.2 部分程序解释
(1) 首先,设置程序参数,本地的IP、客户端的socket、发送端socket、线程控制、接收文件标志和文件程度。程序如下:
string localIP;
WSADATA wsaData;
sockaddr_in sockaddr;
SOCKADDR clientAddr;
SOCKET clientSock;
SOCKET s;
bool run_flag=true;
bool get_file=false;
__int64 file_get_length=0;
(2) 然后再选择模式,程序如下:
int chooseMode()
{
char tmp;
system("cls");
cout<<"请选择功能:"<<endl;
cout<<"1.发送文件"<<endl;
while(1)
{
tmp=getch();
switch(tmp)
{
case '1':
return 1;
}
}
}
(3) 发送文件。二进制打开文件,首先判断文件是否存在;读二进制流 长度 LineLength,在发送数据 长度LineLength一组,在关闭文件。程序如下:
void sendFILE(char *Path)
{
ifstream fs(Path, ios::binary );
- 上一篇:光子晶体微腔的设计和特性研究仿真
- 下一篇:微带耦合滤波器传输零点的研究+文献综述
-
-
-
-
-
-
-
大众媒体对公共政策制定的影响
中考体育项目与体育教学合理结合的研究
十二层带中心支撑钢结构...
河岸冲刷和泥沙淤积的监测国内外研究现状
杂拟谷盗体内共生菌沃尔...
java+mysql车辆管理系统的设计+源代码
电站锅炉暖风器设计任务书
酸性水汽提装置总汽提塔设计+CAD图纸
乳业同业并购式全产业链...
当代大学生慈善意识研究+文献综述