本篇文章,是帮助大家从C向C嘎嘎的过渡,那么我们直接开始吧
不知道大家是否有这样一个问题,学完C的时候感觉还能听懂,但是听C嘎嘎感觉就有点难度或者说很难听懂,那么本篇文章就是帮助大家从C过渡到C嘎嘎。
C嘎嘎与C的区别
首先,创建源文件的时候我们将不再创建 .c 文件,我们将创建 .cpp文件,如下图
头文件方面
C语言头文件(初始)#include<stdio.h>
C嘎嘎头文件#include<iostream>
从上面两个头文件中中我们可以看到少了 .h
当然我们也可以切换回c的头文件,#include<cstdio>
命名空间的引入
命名空间的格式
namespace 空间名
{
}
访问空间的的内容
空间中声明,空间外实现
那么 :: 这个符号叫做作用域分辨符,
分辨符作用
1. 用于空间名和类名限定
2. 用于标识全局变量
using 语法的使用
使用格式:using namespace 空间名;
益处:使用了using语法后可以省略前缀,那么我们实践出真知
从图中我们可以看到,main函数中的print()函数没有使用空间名前缀,并且程序运行成功,但是也许会有小伙伴们不理解在print函数实现部分为什么还有空间名前缀,因为print实现函数是在全局域中(和全局变量一样的道理),而声明却在空间内,计算机比较呆,如果不给它提示,让他直接去找该函数,它会告诉你它找不到这个函数,从而报错
所以这里我们可以进行总结:在函数内部调用函数时,若使用了using语法则可以省略空间名前缀,但是若只是在空间中声明并且实现函数的部分在空间外,则需要加上空间名前缀。
C嘎嘎的输入和输出
输入语法格式
cin >> 输入的内容;
字符串带空格输入:getchar()//依旧使用c语言里的即可或者cin. getline(变量,长度);
输出语法格式
cout << 输出的内容;
cout << 输出的内容 << endl;
其中endl表示结束+换行
输出:cout.write(变量,长度);
类型转换格式
C语言:(int) a;
C嘎嘎:int(a);//这里我比较喜欢这种方式
C嘎嘎中的空
c的空是NULL, c++ 的空则是nullptr,由于C嘎嘎中使用NULL会出现一些bug,因此大家以后用到空时使用nullptr即可。
那么这篇文章的内容就先到这里,希望本篇文章对大家从C过渡到C嘎嘎有所帮助