C++复习要点总结(一)

c++++对c语言的加强——类型加强

1. register 关键字增强

register关键字 请求编译器让变量直接放在寄存器里面,速度快。

在c语言中 register修饰的变量 不能取地址;在c++中可以取地址。

2. 变量检测增强

在c语言中,重复定义多个同名的全局变量是合法的, 在c++中,不允许定义多个同名的全局变量。

3. c++中所有的变量和函数都必须有类型

在c语言中

int f( ); 表示返回值为int,接受任意参数的函数

int f(void); 表示返回值为int的无参函数

在c++中

int f( ); 和int f(void)具有相同的意义,都表示返回值为int的无参函数

4. 三目运算符功能增强

例子:a
区别:c语言返回变量的值; c++语言是返回变量本身

c语言中的三目运算符返回的是变量值,不能作为左值使用

c++中的三目运算符可直接返回变量本身,因此可以出现在程序的任何地方

注意:三目运算符可能返回的值中如果有一个是常量值,则不能作为左值使用 (a
c语言如何支持类似c++的特性呢?

====>当左值的条件:要有内存空间;c++编译器帮助程序员取了一个地址而已

1.const 限定符认识

作用:把一个对象转化成一个常量,只读。

  1. int main(){const int a;// 1 第1个第2个意思一样 代表一个常整形数int const b;// 2const int *c; // 3 第3个 c是一个指向常整形数的指针(所指向的内存数据不能被修改,但是本身可以修改)int * const d; //4 第4个 d 常指针(指针变量不能被修改,但是它所指向内存空间可以被修改)const int * const e ; //5 第5个 e一个指向常整形的常指针(指针和它所指向的内存空间,均不能被修改)return 0;}

登录后复制

例子:

  1. const int bufSize=512bufSize初始化之后就无法进行修改了。1)在C++中,const符号表原理:存储方式是符号表即key valuekey valuebufSize 512

登录后复制

2. C++编译器对const常量的处理原理:当常量声明时,是在符号表放入常量;使用常量时时直接以符号表中的值替换。

结论:C语言与C++中的const变量区别

C语言中const变量是只读变量,有自己的存储空间

C++中的const常量

可能分配存储空间,也可能不分配存储空间 

当const常量为全局,并且需要在其它文件中使用

当使用&操作符取const常量的地址

2)const 与 #define异同之处

相同:都可以作为常量使用

异:const常量是由编译器处理的,提供类型检测和作用域检查,宏定义由预处理器处理,单纯的文本替换。

以上就是C++复习要点总结(一)的内容,更多相关内容请关注PHP中文网(www.php.cn)!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
编程技术

C++复习要点总结之四New和delete使用

2025-3-6 6:31:15

编程技术

C# .net实现货币转换示例

2025-3-6 6:31:33

0 条回复 A文章作者 M管理员
欢迎您,新朋友,感谢参与互动!
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
私信列表
搜索