C++基础
C++概述
C++基于C语言而发展,支持面向过程的同时也支持面向对象程序的设计,属于强类型的语言,类型检查严格;且C++完全兼容C。
同C语言:语言紧凑、简洁、使用方便、灵活;生成的目标代码质量高、程序执行效率高、可移植性好。
开发环境:本人使用基于Linux的QT,g++开发。
QT下载地址:http://download.qt.io/archive/qt/
g++安装命令:sudo apt-get update、 sudo apt-get install g++
C++基本语法
1. 源代码的保存
C++源码保存于后缀为 .cpp 的文件中,
头文件保存在后缀为 .hpp的文件中。
2. 头文件
C++的头文件不再以 .h结尾。例如:
#include < iostream>
#include < string>
…
标准头文件可以兼容C语言的用法,但是不太推荐,应使用如下方法:
#include < cstdio>
#include < cstring>
…
非标准头文件应遵循C语言的使用方法:
#include <pthread.h>
3. 输入输出及命名空间
#include <iostream>
#include <cstdio>
using namespace std;
//命名空间1
namespace myspace1{
int add(int a, int b)
{
return a+b;
}
}
//匿名命名空间
namespace{
int num = 100;
}
int main(void)
{
int a,b;
//输出
cout<<"input two num:"<<endl;
cin>>a>>b;
cout<<"a+b="<<myspace1::add(a,b)<<endl;
cout<<"num="<<::num<<endl;
return 0;
}
4.引用(references)
1:定义
引用就是某个目标变量的 “别名”。
2:注意
(1)申明一个引用的时候,切记要对其进行初始化;
(2)引用声明完毕后,相当于目标变量名有两个名称,不能再把该引用名作为其他变量名的别名;
(3)引用本身不占存储单元,系统也不给引用分配存储单元;
(4)不能返回局部变量的引用。因为局部变量会在函数返回后被销毁,因此被返回的引用就成为了"无所指"的引用,程序会进入未知状态;
(5)不能返回函数内部new分配的内存的引用。
(6)可以返回类成员的引用,但最好是const。
3.语法
变量、常量、指针的引用,作为函数参数只能实现数据的双向传递
#include <iostream>
#include <cstdio>
using namespace std;
//传址实现
void ptr_swap(int *pa,int *pb)
{
int temp = *pa;
*pa = *pb;
*pb = temp;
}
//通过引用实现
void