c++基础第一篇
前言:我是从c和c++对比的角度来讲解c++的基础知识。
(1)c++格式如下:
#include <iostream> //标准输入输出头文件 using namespace std; //标准输入输出所在命名空间 int main(int argc,char *argv[]) { cout<<"hello world"<<endl; //cout为标准输出,endl是换行符, 在c中相当于\n,其中标准输入为cin>> return 0; }
(2)c++是在c的基础上发展起来的那么我们当然可以使用c中的头文件了,一般在c头文件前面加个c就可以了,比如是c中的标准输入输出可以这么写include <cstdio>,后面的.h去掉,当然这是不是标准的写法,c++中标准的写法格式如下:
extern "C" { include <stdio.h> include <string.h> ........... }
(3)定义指针
c环境下定义指针
char *p = NULL; //定义一个char型的指针,指针指向NULL
c++环境下定义指针
char p = new char;
释放的时候时候也不同
c环境下释放
free p;
c++环境下释放
delete p;
(4)定义数组
c环境下
char buffer[10]; //定义一个char型的数组,里面包含10个元素
c++环境
char buffer = new char[10];
这里需要注意的是,c中定义的数组不需要释放,而c++中是要释放的,释放的格式如下
delete []buffer; //释放的时候不需要指明释放多少个字节,仅需要在数组名前加[]就可以了
(5)命名空间
命名空间格式:
namespace 命名空间名字 { int data ; //空间中的内容 ........... };
如果想要使用空间中的内容可以这么写
命名空间名字::data; //::为所属符,说明这个变量属于某个命名空间
如果嫌麻烦,那就在前面加上下面这句话,在使用空间的内容时就可以不写所属符了
using namespace 命名空间名字;
(6)引用
引用的格式:
数据类型 &引用名 = 变量名(引用名前的数据类型一定要跟变量的类型一致)
int a = 100; int &b = a; //b是a的引用(或者说b是a的别名)
注意:b是a的引用的时候,b的值改变,a也会跟着改变,或者可以看成b是一个指向a中值的指针,这样子可能更容易接受。
比如:
#include <iostream> using namespace std; int main() { int a = 100; int &b = a; cout<<"b:"<<b<<endl; b = 50; cout<<"a:"<<a<<endl; return 0; }
输出如下:
b:100 a:50
这里还需要注意的是,如果变量是const修饰的, 那么引用必须用const修饰
const int n=100; const int &m=n;
鉴于本人才疏学浅,所以其中不免有遗漏或者错误,恳请各位博友批评指正。