【C++基础】 --- C++在C的基础上对一些语法的增强

简介: 【C++基础】 --- C++在C的基础上对一些语法的增强

一、变量的定义

//C语言中的变量都必须在作用域开始的位置定义!!

//C++中更强调语言的“实用性”,所有的变量都可以在需要使用时再定义。

int main()
{
  int i = 0;
 
  printf("ddd");
  int k;
  system("pause");
  return 0;
}

二、register关键字增强

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

//在c语言中 register修饰的变量 不能取地址,但是在c++里面做了内容

 

//1

register关键字的变化

register关键字请求“编译器”将局部变量存储于寄存器中

C语言中无法取得register变量地址

在C++中依然支持register关键字

C++编译器有自己的优化方式,不使用register也可能做优化

C++中可以取得register变量的地址

 

//2

C++编译器发现程序中需要取register变量的地址时,register对变量的声明变得无效。

 

//3

早期C语言编译器不会对代码进行优化,因此register变量是一个很好的补充。

三、函数检测增强

在C语言中,重复定义多个同名的全局变量是合法的

在C++中,不允许定义多个同名的全局变量

C语言中多个同名的全局变量最终会被链接到全局数据区的同一个地址空间上

int g_var;

int g_var = 1;

C++直接拒绝这种二义性的做法。

四、struct类型增强

C语言的struct定义了一组变量的集合,C编译器并不认为这是一种新的类型,

C++中的struct是一个新类型的定义申明

struct Student
{
    char name[100];
    int age;
};

C语言中只能这样去申明一个结构体变量struct student s1;

C ++中可以直接student s1

五、C++中所有的变量和函数都必须有类型

C语言中这样定义函数是合法的

f(i)
{
  printf("i = %d\n", i);
 
}
 
g()
{
  return 5;
}

在C语言中

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

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

但是这样写,在C++中是不允许的。C++更加强调类型,任意的程序元素都必须显示指明类型


目录
相关文章
|
1月前
|
编译器 C++
C++ 双冒号::开头的语法,::变量名,获取全局作用域变量
C++ 双冒号::开头的语法,::变量名,获取全局作用域变量
23 0
|
1月前
|
存储 编译器 Shell
【C++基础语法 枚举】解析 C/C++ 中枚举类型大小值
【C++基础语法 枚举】解析 C/C++ 中枚举类型大小值
27 0
|
1月前
|
编译器 测试技术 C++
【Python 基础教程 01 全面介绍】 Python编程基础全攻略:一文掌握Python语法精髓,从C/C++ 角度学习Python的差异
【Python 基础教程 01 全面介绍】 Python编程基础全攻略:一文掌握Python语法精髓,从C/C++ 角度学习Python的差异
207 0
|
1月前
|
编译器 C++
深入理解 C++ 语法:从基础知识到高级应用
了解C++基础语法,包括`#include <iostream>`引入输入输出库,`using namespace std`简化命名。`int main()`是程序入口,`cout << "Hello World!"`用于输出文本。换行可使用`\n`或`endl`。注释使用`//`进行单行注释,`/* */`进行多行注释。
52 0
|
20天前
|
存储 自然语言处理 编译器
【C++语言1】基本语法
【C++语言1】基本语法
|
23天前
|
编译器 C语言 C++
C++的基本特性和语法
C++的基本特性和语法
17 1
|
1月前
|
存储 C++ 容器
【C++从练气到飞升】09---string语法指南(二)
【C++从练气到飞升】09---string语法指南(二)
|
1月前
|
存储 Linux C语言
【C++从练气到飞升】09---string语法指南(一)
【C++从练气到飞升】09---string语法指南(一)
|
24天前
|
编译器 C++ 容器
C++语言的基本语法
学习C++编程首先需熟悉环境和语法,包括理解对象(具有状态和行为)、类(对象的模板)、方法(描述行为)及即时变量(定义对象状态)。C++程序始于`main()`函数,如示例代码所示,通过`#include`引入头文件,使用`std`命名空间。程序结构包括定义、编译和执行步骤,其中分号作为语句结束符,大括号表示语句块。C++标识符由字母、下划线和数字组成,关键词有特定含义,不能作为变量名。了解空格和注释的使用也很重要。最后,`main`函数通常返回`int`类型,`using namespace std;`可简化命名空间引用。
19 0