前言:我是从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 ;
}

(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 =  ;
int &b = a; //b是a的引用(或者说b是a的别名)

注意:b是a的引用的时候,b的值改变,a也会跟着改变,或者可以看成b是一个指向a中值的指针,这样子可能更容易接受。

比如:

#include <iostream>

using namespace std;

int main()
{
int a = ;
int &b = a;
cout<<"b:"<<b<<endl;
b = ;
cout<<"a:"<<a<<endl;
return ;
}

输出如下:

b:100
a:50

这里还需要注意的是,如果变量是const修饰的, 那么引用必须用const修饰

const int n=;
const int &m=n;

 

 

 

最新文章

  1. python核心编程第二版练习题答案
  2. Android Weekly Notes Issue #229
  3. SAM/BAM文件处理
  4. JQ第二天
  5. python异常
  6. BZOJ3189 : [Coci2011]Slika
  7. C#执行DOS命令(CMD命令)
  8. 分享10 个超酷的 HTML5/CSS3 应用及源码
  9. 使用jetty和mongodb实现简易网盘接口
  10. java中常见的单例模式详解
  11. poj 1990
  12. Swift_字符串详解(String)
  13. poj3207
  14. Solidity constant view pure关键字的区别与联系
  15. 【游戏周边】Unity,UDK,Unreal Engine4或者CryENGINE——我应该选择哪一个游戏引擎
  16. ASP.NET Core 部署IIS及 OFFSET 附近有语法错误解决
  17. AJPFX的资金安全性
  18. java设计模式-----18、职责链模式
  19. DPM(Deformable Parts Model)
  20. Phonegap 通知 Notification

热门文章

  1. python asyncio 关闭task
  2. C# 5.0 新特性之异步方法(AM)
  3. idea中的后缀补全
  4. Spring Cloud Hystrix 熔断器(五)
  5. MySQL for OPS 05:日志管理
  6. Elasticsearch(ES) 创建索引
  7. 使用SolrJ(即java客户端)开发Solr。
  8. War 包部署
  9. 以STM32和FPGA为核心的多组件协调工作系统
  10. Linux文本文件——文本编辑器Vim