当前位置: 移动技术网 > IT编程>开发语言>C/C++ > C++的特点

C++的特点

2018年11月29日  | 移动技术网IT编程  | 我要评论

c和c++

c主要是应用在在驱动层,是面向过程的编程语言,对类型的定义不是很严格。c++主要是应用与应用层,是c语言的一个加强版,可以完全兼容c语言,并且还有很多c语言不具备的特性,如,c++是一种面向对象的编程语言,c++的设计目标是:运行效率和开发效率的统一

  • c++更加强调语言的实用性,可以在任意地方声明变量
  • c++中的register只是起到兼容性的作用
  • c++中的编译器能够更好的进行优化

struct关键字的加强:

c

typedef struct _tag_student student;

struct _tag_student

{

const char* name;

int age;

}

c++

struct student

{

const char* name;

int age;

};

int f() 和int f(void)有什么区别

注意:c++中的所有的表示符都必须显示的声明类型,不允许默认类型的出现,但是在c语言中可以

c++中:

  • int f()和int f(void)表示的是相同的意思,指的是定义了一个返回值是int的无参数的函数

c中: (在c中默认的参数类型和函数返回值类型都是int)

  • int f() 指的是定义了一个返回值为int 函数参数个数为任意多个的函数
  • int f(void) 指的是定义了一个返回值为int类型的无参数的函数

c和c++中的const的分析:

c

  • 修饰的变量是只读,本质还是变量
  • 修饰的局部变量在栈上分配空间
  • 修饰的全局变量在只读存储区分配空间
  • 只在编译期有用,其他时间没用
  • 注意:const修饰的变量不是真的常量,他只是告诉编译器该变量不能出现在赋值符号的左边

c++

  • 当碰到const标识符时,在符号表中放入常量
  • 编译过程中若发现使用常量,则直接以符号表中的常量进行替换
  • 编译过程中若发现下述情况,则给对应常量分配内存空间
    • 对const常量使用了extern
    • 对const常量使用了&操作符
  • c++编译器虽然可能给const常量分配空间但是不会使用其存储空间中的值

小结:

  • 与c语言不同,c++中的const不是只读变量
  • c++中的const是一个真正意义上的常量
  • c++编译器可能会为const常量分配空间
  • c++完全兼容c语言中const常量的语法特性

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网