c++对c的主要扩展内容1
来源:互联网 发布:端口检测失败 编辑:程序博客网 时间:2024/06/05 21:06
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常量分配空间,但不会使用其存储空间中的值。- c++对c的主要扩展内容1
- c++对c的主要扩展内容2
- C++对C的扩展
- GNU对C的扩展
- C++对c的扩展
- C++对C的扩展
- C++对C的扩展
- C++(1)/C++对C的扩展&C++ 引用
- GNU C 对标C的扩展
- 【C/C++】C++对C的扩展总结
- GCC 对C语言的扩展(1)
- 第一章 C++对C的扩展(Externsion)--(1)类型增强
- Perl 对 C 的扩展接口
- ARM编译器对C语言的扩展
- C++Builder对C++的扩展
- GCC 对C语言的扩展
- C++对C的函数扩展
- C++对C语言的扩展
- 亚马逊无人店将对外开放 拜客出行接盘小蓝单车
- 关于原码,反码,补码以及数据的溢出
- 速珂(SOCO)获小米领投A+轮融资 成两轮电动车市场新变量
- 6.18
- 特斯拉推续航1000公里跑车!电动卡车成配角【超详解读附视频】
- c++对c的主要扩展内容1
- 微信小程序返回上级页面时单个数据交互
- Linux(Centos)之安装Nginx及注意事项
- Power按键流程分析
- String中intern()
- K8S客户端Kubectl无法下载问题的解决办法-到中科大USTC下载
- 当流行歌曲遇到程序猿——有没有那么一个bug,会让你突然想起我
- 神经网络-逻辑回归
- 栈的压入、弹出序列 (剑指Offer 第 20 题)