欢迎来到天天文库
浏览记录
ID:40522336
大小:31.00 KB
页数:6页
时间:2019-08-04
《C++和C的区别》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
C++和C语言的区别:ØC程序可以省略函数原型,而C++不可以,一个不带参数的C函数原型必须把void写出来。而C++可以使用空参数列表。ØC++中new和delete是对内存分配的运算符,取代了C中的malloc和free。标准C++中的字符串类取代了C标准C函数库头文件中的字符数组处理函数。C++中用来做控制态输入输出的iostream类库替代了标准C中的stdio函数库。C++中的try/catch/throw异常处理机制取代了标准C中的setjmp()和longjmp()函数。Ø增加了关键字和变量C++相对与C增加了一些关键字,在C++中还增加了bool型变量和wchar_t型变量:Ø强制类型转换int*iptr=(int*)&table;表达式的前缀(int*)就是传统C风格的强制类型转换说明(typecast),又可称为强制转换说明(cast)。强制转换说明告诉编译器把表达式转换成指定的类型。有些情况下强制转换是禁用的,例如不能把一个结构类型转换成其他任何类型。数字类型和数字类型、指针和指针之间可以相互转换。当然,数字类型和指针类型也可以相互转换,但通常认为这样做是不安全而且也是没必要的。强制类型转换可以避免编译器的警告。longint C++和C语言的区别:ØC程序可以省略函数原型,而C++不可以,一个不带参数的C函数原型必须把void写出来。而C++可以使用空参数列表。ØC++中new和delete是对内存分配的运算符,取代了C中的malloc和free。标准C++中的字符串类取代了C标准C函数库头文件中的字符数组处理函数。C++中用来做控制态输入输出的iostream类库替代了标准C中的stdio函数库。C++中的try/catch/throw异常处理机制取代了标准C中的setjmp()和longjmp()函数。Ø增加了关键字和变量C++相对与C增加了一些关键字,在C++中还增加了bool型变量和wchar_t型变量:Ø强制类型转换int*iptr=(int*)&table;表达式的前缀(int*)就是传统C风格的强制类型转换说明(typecast),又可称为强制转换说明(cast)。强制转换说明告诉编译器把表达式转换成指定的类型。有些情况下强制转换是禁用的,例如不能把一个结构类型转换成其他任何类型。数字类型和数字类型、指针和指针之间可以相互转换。当然,数字类型和指针类型也可以相互转换,但通常认为这样做是不安全而且也是没必要的。强制类型转换可以避免编译器的警告。longint el=123;shorti=(int)el;floatm=34.56;inti=(int)m;上面两个都是C风格的强制类型转换,C++还增加了一种转换方式,比较一下上面和下面这个书写方式的不同:longintel=123;shorti=int(el);floatm=34.56;inti=int(m);使用强制类型转换的最大好处就是:禁止编译器对你故意去做的事发出警告。但是,利用强制类型转换说明使得编译器的类型检查机制失效,这不是明智的选择。通常,是不提倡进行强制类型转换的。除非不可避免,如要调用malloc()函数时要用的void型指针转换成指定类型指针。Øc++采用新的注释方法//Øc++支持函数的重载和运算符的重载Ø 程序的书写更为简单自由,例如:在c++中可以在函数的任意位置顶一变量,而在c语言中,变量的定义只可以出现在函数的最前部。Ø增加了引用概念,使得引用函数参数带来了很大方便。 在C++中,引用是一个经常使用的概念。引用型变量是其他变量的一个别名,我们可以认为他们只是名字不相同,其他都是相同的。 1.引用是一个别名 C++中的引用是其他变量的别名。声明一个引用型变量,需要给他一个初始化值,在变量的生存周期内,该值不会改变。& 运算符定义了一个引用型变量: int a; int& b=a; 先声明一个名为a的变量,它还有一个别名b。我们可以认为是一个人,有一个真名,一个外号,以后不管是喊他a还是b,都是叫他这个人。同样,作为变量,以后对这两个标识符操作都会产生相同的效果。 #include "iostream.h" int main() { int a=123; int& b=a; cout<等运算符 #include "iostream.h" void func1(s p); void func2(s& p); struct s { int n; char text[10]; }; int main() { static s str={123,"China"}; func1(str); func2(str); return 0; } void func1(s p) { cout<>dt; if(dt>0 && dt<4) { const Date& bd=getdate(dt); cout<
此文档下载收益归作者所有
举报原因
联系方式
详细说明
内容无法转码请点击此处