博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
从头回顾C++的基础知识(一)
阅读量:2434 次
发布时间:2019-05-10

本文共 1235 字,大约阅读时间需要 4 分钟。

C++基础(一)

基本数据类型

引用与指针

const

ifndef


C++常用的基本数据类型

数据类型 含义
bool 布尔类型
char 字符
wchar_t 宽字符
short 短整型
int 整形
long 长整型
float 单精度浮点数
double 双精度浮点数
void 空类型
  • 要注意string不是基本数据类型,而是一个类,使用string定义变量要使用string头文件
  • void类型不对应具体的值,在函数不返回任何值时可以用空类型作为返回值

引用与指针

  • 引用(reference)为对象起了另外一个名字,引用本身并不是一个对象,所以对引用的操作实际上是在对与引用绑定的对象操作。
  • 引用的定义方式:int i=1,&refi=i;//其中refi是一个引用,与i绑定。
  • 指针(pointer)也是实现对对象间接访问的一种方式。但指针本身也是一个对象。
  • 指针的定义方式:int i=1,*p=i;//这里可以说p是指向 i 的一个指针。
  • C++11新特性:nullptr:空指针。

引用与指针的区别:

引用 指针
引用不可以为空 指针可以为空
引用只是一个别名 指针是一个实体,有自己的内存空间
引用必须初始化 指针不是必须要初始化
引用自初始化后不可改变 非常指针在生命周期内可以指向不同的对象
sizeof(引用)获得所引用对象的大小 sizeof(指针)获得指针的大小
对引用操作是对值操作 对指针操作是对指针本身操作
引用只能有一级 指针可以有多级
存在指向指针的引用 不存在指向引用的指针

关于const

  • const类型限制只能在const类型的对象上执行不改变其内容的操作。
  • const可以修饰变量,指针,函数参数及成员函数。
  • C++11新特性:可以使用constexpr声明变量来验证变量值是否是常量表达式

const与指针

  • const int *p=i; //意味p指向的是一个常量,则i不可被改变。
  • int * const p=i;//意味p是一个常量指针,则p只可能指向i
  • const int * const p;//意味着常量指针指向一个常量,p的指向与i都不可以被改变

关于类型

  • C++11新标准:auto:声明变量,由编译器来推断变量类型
auto i=3,*p=i,j=3.14;//编译器会自动分析i,p,j的类型
  • C++11新标准:decltype:返回操作数的数据类型。
int i;decltype(i) j=1;//j的类型就是i的类型decltype(fun()) k;//k的类型是fun()的返回类型int &p=i;decltype(p) q;//注意:这个语句是错误的,p是一个引用,q也是,所以必须初始化。
  • 使用预处理变量保护头文件不被多次包含。
#ifndef Head_H//只有第一次包含head.h时会执行endif之前的代码。#define Head_H//----------#endif

转载地址:http://kiemb.baihongyu.com/

你可能感兴趣的文章
进站画面:1q84音乐电台
查看>>
MFC程序更换XP皮肤
查看>>
SkinSharp使用方法
查看>>
盘点2010年电子书市场
查看>>
How Computers Know What We Want — Before We Do
查看>>
About Recommender Systems
查看>>
jason数据格式
查看>>
金山快盘的安全性太差了
查看>>
KDD Cup2011
查看>>
“相关性”时代的到来
查看>>
OpenCV资料
查看>>
极阅和微精
查看>>
智能Web算法第二版前言和译者序
查看>>
RPC实践(二)JsonRPC实践
查看>>
RPC实践(三)Hessian实践
查看>>
RPC实践(五)Dubbo实践-服务集群
查看>>
java单元测试Junit实践(一) Junit基础
查看>>
Webservice实践(二)Webservice 客户端开发
查看>>
Webservice实践(三)基于JDK的jax ws进行服务端开发
查看>>
Eclipse中10个最有用的快捷键组合
查看>>