一、c++新增的知识点:
1、输入输出 : 输入cin,输出cout
2、命名空间 : using namespace std;
作用域:std::cin namespace B{ }
通常情况下,如果有两个同名变量,一个是全局变量,另一个是局部变量,那么局部变量在其作用域内具有较高的优先权,它将屏蔽全局变量。
3、引用 :解决数据传递问题(值传递,地址传递) ——>传递引用
4、函数重载 :提高代码复用性(一个函数多种功能,即一个函数名可用在多个函数中)
5、类(继承,多态,封装)!重点:面向对象编程
6、友元 : 提高程序的访问权限。
7、运算符重载 : 赋予运算符新的功能(比如把++变成--)
8、this指针 : this 是 c++中的一个关键字,也是一个 const 指针,它指向当前对象,通过它可以访问当前对象的所有成员。!给成员赋值(this->name = name),因为成员名变量和形参重名了,因此通过this指针区分;
9、模板 : 函数模板,类模板(都是提高代码复用性)
10、STL库 : 含有(链表,队列,栈,容器,二叉树...)等数据结构,官方提高的接口
11、异常处理 : 新的处理异常方法
二、c++特点
c++提高了工作效率,减少大量重复的代码。
c++ 语言的后缀: .cpp, .cxx, .hpp , .cc 都是C++ 程序。
g++编译器:可编译c++,也可编译c。
三、常见问题
cin输入空格问题:
cin.getline()(包含头文件#include<string>)
#include <sstream>
char buf[1024]={0};
//从键盘获取 10 个字符 或者 遇到 #号结束输入
std::cin.getline(buf,10,'#');
std::cout <<"buf=" << buf << std::endl;
char buf1[1024]={0};
//从键盘获取 5 个字符放入 buf 中
std::cin.getline(buf1,5);
std::cout << "buf1" << buf1 << std::endl;