c++学习(一)
第一部分: c++ 和C的区别
**1.c和c++的头文件不同:**
c的头文件------#include<stdio.h>
c++的头文件---#include<iostream>(输入输出流文件)
C++中用来做控制态输入输出的iostream类库替代了标准C中的stdio函数库。
**2.输入输出不同:**
输入:
int i = 10;
c:scanf("%d",&i)(需要注意输入的变量类型)
c++:cin>>i(不需要注意变量类型)
输出:
c:printf("%d\n",i)(需要注意输出的变量类型)
c++:cout<<i<<endl(不需要注意输出类型)
**3.变量的声明定义不同:**
c语言:变量要放在语句之前定义,否则会报错
c++:变量随用随定义,方便灵巧
**4.命名空间:**
c语言:没有命名空间
c++:有命名空间:using namespace std(可以防止函数出现相同的情况)
**5.函数重载:**
c语言:不支持函数重载
c++:支持函数重载(条件:参数个数不同,或者参数类型不同)
**6.自定义类型:**
c语言:使用结构体,结构体不能为空(为空无意义),不可以定义class类
c++:使用class类定义对象,且class类可以为空,也可以定义结构体
**7.兼容性分析:**
c语言不兼容c++ c++兼容c语言
**8.c语言面向过程,主要是以函数为主;c++面向对象,主要是以类为主**
转载 : 原文地址: https://blog.****.net/angry_youth/article/details/63683180
第二部分: c++ 的一些内容
C++ 是 C 的一个超集,事实上,任何合法的 C 程序都是合法的 C++ 程序。
C++ 程序的源文件通常使用扩展名 .cpp、.cp 或 .c。
1.C++ 程序结构
接下来我们讲解一下上面这段程序:
- C++ 语言定义了一些头文件,这些头文件包含了程序中必需的或有用的信息。上面这段程序中,包含了头文件 <iostream>。
- 下一行 using namespace std; 告诉编译器使用 std 命名空间。命名空间是 C++ 中一个相对新的概念。
- 下一行 // main() 是程序开始执行的地方 是一个单行注释。单行注释以 // 开头,在行末结束。
- 下一行 int main() 是主函数,程序从这里开始执行。
- 下一行 cout << "Hello World"; 会在屏幕上显示消息 "Hello World"。
- 下一行 return 0; 终止 main( )函数,并向调用进程返回值 0。
2.C++ 中的分号 & 语句块
在 C++ 中,分号是语句结束符。
语句块是一组使用大括号{}括起来的按逻辑连接的语句。
3.C++ 标识符
C++ 标识符是用来标识变量、函数、类、模块,或任何其他用户自定义项目的名称。一个标识符以字母 A-Z 或 a-z 或下划线 _ 开始,后跟零个或多个字母、下划线和数字(0-9)。
C++ 标识符内不允许出现标点字符,比如 @、& 和 %。C++ 是区分大小写的编程语言。因此,在 C++ 中,Manpower 和 manpower 是两个不同的标识符。
4.C++ 关键字
下表列出了 C++ 中的保留字。这些保留字不能作为常量名、变量名或其他标识符名称。
5.一种特殊形式的C++ 注释
#if 0 ... #endif
6. 循环中的无限循环
7. c++中特殊的函数形式——Lambda 函数与表达式
C++11 提供了对匿名函数的支持,称为 Lambda 函数(也叫 Lambda 表达式)。
Lambda 表达式把函数看作对象。Lambda 表达式可以像对象一样使用,比如可以将它们赋给变量和作为参数传递,还可以像函数一样对其求值。
Lambda 表达式本质上与函数声明非常类似。Lambda 表达式具体形式如下: