image.PNG
说到 C++ 和 C 语言的区别, 大部分人都会想到面向对象和面向过程. 然而这种说法并不准确. 面向对象和面向过程指的是两种不同的程序设计思想, 而 C++ 与 C 是两种编程语言, 难道 C++ 就不能用于面向过程去解决问题吗, 当然可以. 而面向对象的设计思想也可以用到 C 语言中去, 我之前的文章就涉及过这方面的知识.
下方是小编点 C/C++ 学习资料, 需要的同学加小编 C/C++ 编程 qq 群: 825414254 即可获得
我们这个系列就是要抛开编程思想, 单纯地从语法的角度介绍一下 C++ 中究竟加入了哪些 C 语言中没有的功能. 希望大家在掌握了 C 语言之后再来学习这部分内容.
首先, 让我们看一段标准的 C++ 代码:
这个是一个最基本的程序, 用来在屏幕上打印出 "Hello World" 这句话. 是不是和 C 语言程序差距较大呢? 今天, 我们先介绍 C++ 和 C 语言的几个最基本的不同.
1. 头文件
C 语言中, 标准输入输出的头文件引用方式如下:
include <stdio.h>
而 C++ 中使用的是:
include <iostream>
C++ 规定, 由系统提供的头文件在引用时不带 ".h". 如果是自己定义的头文件, 需要这样引用:
include "myfile.h"
注意, 这里不仅使用了 ".h" 而且还用了双引号. 原因和 C 语言相同, 从当前路径开始寻找. 另外, 由于 C++ 是完全支持 C 语言的全部功能的, 所以当我们要使用 C 语言提供的头文件时, 依然要使用:
include <stdio.h>
这样定义的好处是, 我们只看头文件的包含形式就知道引用的是 C++ 的系统库还是 C 语言的系统库, 亦或是自定义函数库.
2. 命名空间
大家肯定注意到这句话了:
using namespace std;
这句话的意思是引入命名空间 std, 我们输出字符串使用的 cout 关键字就在 std 中. C++ 库中的函数被划分到不同的命名空间中, 如果需要访问, 就要先使用这句话引入命名空间.
假如我们没有写这句话, 就要在每次使用到这些函数时手动指定命名空间, 之前的代码就要变成这样:
来源: http://www.jianshu.com/p/544c8ad3f68e