c++对c的主要扩展内容1
2017-11-18 14:19
267 查看
1.namespace命名空间:指定了标识符的可见范围,标准库的标识符使用using namespace std;
2.register关键字加强,将变量放入寄存器内进行优化,c不能获取地址,c++可以,另外c++编译器针对某些情景有特定的优化方式,即不使用register,也有可能进行register优化
3.struct关键字:c中的struct是变量的集合,但在c++中认为是一种新类型
4.c++所有变量和函数必须有类型:比如c中:int func();表示返回值为int,可接受任意类型参数的函数;而c++则认为是返回为int的无参数的函数
5.Bool类型的加入
6.三目运算符加强:比如:
void main()
{
int a=10;
int b=20;
(a<b?a:b)=30;
cout<<a<<b<<endl;
}
这里会发现c返回的是变量的值,不能做左值,而c++则是返回了这个变量本身;可以认为c++编译器帮助我们取了地址,来让我们使用这个内存;
7.const关键字:针对const需要区分:const char *p和char* const p和const char* const p 区别:第一个表示p所指的内存空间不能被修改,第二个代表p这个变量不能被修改,即指向特定的内存空间,但是内存空间的值可以修改,第三个就是都不能被修改;
看c和c++的表现:
void main()
{
const int a=10;
int *p=&a;
*p=20;
printf("a:%d",a);
}
C语言中const变量是只读变量,有自己的存储空间
C++中的const常量:当碰见常量声明时,在符号表中放入常量,
编译过程中若发现使用常量则直接以符号表中的值替换
当const常量为全局,并且需要在其它文件中使用
当使用&操作符取const常量的地址,则给对应的常量分配存储空间
C++编译器虽然可能为const常量分配空间,但不会使用其存储空间中的值。
2.register关键字加强,将变量放入寄存器内进行优化,c不能获取地址,c++可以,另外c++编译器针对某些情景有特定的优化方式,即不使用register,也有可能进行register优化
3.struct关键字:c中的struct是变量的集合,但在c++中认为是一种新类型
4.c++所有变量和函数必须有类型:比如c中:int func();表示返回值为int,可接受任意类型参数的函数;而c++则认为是返回为int的无参数的函数
5.Bool类型的加入
6.三目运算符加强:比如:
void main()
{
int a=10;
int b=20;
(a<b?a:b)=30;
cout<<a<<b<<endl;
}
这里会发现c返回的是变量的值,不能做左值,而c++则是返回了这个变量本身;可以认为c++编译器帮助我们取了地址,来让我们使用这个内存;
7.const关键字:针对const需要区分:const char *p和char* const p和const char* const p 区别:第一个表示p所指的内存空间不能被修改,第二个代表p这个变量不能被修改,即指向特定的内存空间,但是内存空间的值可以修改,第三个就是都不能被修改;
看c和c++的表现:
void main()
{
const int a=10;
int *p=&a;
*p=20;
printf("a:%d",a);
}
C语言中const变量是只读变量,有自己的存储空间
C++中的const常量:当碰见常量声明时,在符号表中放入常量,
编译过程中若发现使用常量则直接以符号表中的值替换
当const常量为全局,并且需要在其它文件中使用
当使用&操作符取const常量的地址,则给对应的常量分配存储空间
C++编译器虽然可能为const常量分配空间,但不会使用其存储空间中的值。
相关文章推荐
- c++对c的主要扩展内容2
- C++技术沙龙主要内容
- iOS 新特性分列式 之 iOS 8.x - 主要内容:应用扩展、手动对焦、Size Class
- 决定开始写blog了,主要是视频开发,电子教学,和c++方面的内容
- 以C++为主要专业内容的幡然醒悟的人。。。
- 扩展GridView控件(11) - 合并指定列的相邻且内容相同的单元格
- 用C/C++扩展你的PHP
- wchar_t是C/C++的字符类型,是一种扩展的存储方式
- C#213课的主要内容
- php调用C++扩展库出现段错误 (core dumped)
- 数据挖掘领域的主要研究内容
- 网站的分析报告主要包含的内容有哪些?
- IOS Orientation, 想怎么转就怎么转~~~ 此博文主要针对IOS应用, 是屏幕旋转相关问题的一个总结. 主要内容有: IOS5,6,7不同版的适配. 强制旋转和自动旋转.
- C++经典书籍和相关内容
- 浅谈C到C++的扩展
- 转)使用C/C++扩展Python
- php调用c++程序实现php功能扩展
- 在Linux上创建PHP4的C++扩展
- makefiles主要内容
- 一个可复用的C++ 3阶实方阵类和4阶实方阵类(兼容与扩展了DX中的4阶实方阵类);四元数(quaternion)模板类的使用