1、C语言与C++的区别
C语言:面向过程的结构化程序设计语言、中级语言
面向过程:按步骤一步一步的去做,才有可能得到最终的结果,注重的是过程。只有过程对了,才有好结果。
C++语言:面向对象的编程语言
面向对象:注重的是结果。
(1)编程思想的不同:C++的面向对象的编程思想更接近于我们自然界的发展规律。C语言中也有面向对象编程的影子:结构体---》只是简单的描述属性,缺少动态的内容;C++:属性+行为整合。
(2)C++是完全兼容C,只要是合法的C语言程序在C++中也是合法的。
(3)C++多了2个+, 因为C++比C扩充了非常多的内容;不管是关键字、数据类型等都有扩充。
应用领域:
1、QT----》嵌入式产品的UI设计
2、人工只能领域:图像处理---opencv---C++/C
3、游戏开发
2、命名空间--3W1H
解决问题:命名冲突(变量名、函数名、自定数据类型)
在C语言中,同一个作用域中是不允许出现同名的变量、同名的函数,同名的数据类型。
如何区分:在变量或者是函数名的前面加上作用域或者归属。
命名空间:
格式:namespace 命名空间的名字{变量,函数,自定义的数据类型};
访问:using namespace 命名空间名字;已经确定了作用域
#include <stdio.h>
//命名空间的格式:
namespace _su
{
int a = 10;
void print()
{
printf("a = %d\n", a);
}
};
namespace _sa
{
int a = 10;
void print()
{
printf("a = %d\n", a);
}
};
using namespace _sa;
int main()
{
printf("hello world!\n");
//命名空间内部内容的访问: 命名空间名字+::+成员;
// _sa::print();
//using namespace 命名空间名字;已经确定了作用域
print();
return 0;
}
3、标准输入输出流
C语言中标准输入输出函数:printf scanf、getchar、putchar、gets、puts等
什么是流:以字节为单位,连续的方向统一的就是流。
输入流:cin >> a;
输出流:cout << a;
4、引用类型---指针对比
目的:弱化指针;因为这个引用可以实现和指针一样的效果;c++,减少临时空间的开辟;指针定义变量的时候会给分配4字节或者8字节的内存空间存地址;但是我们的引用是不需要的,因为已经存在了,引用是用来起别名的