网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

C++中的const,引用本质,内联,默认/占位参数,

1、C++中的const

创新互联公司专注骨干网络服务器租用十多年,服务更有保障!服务器租用,电信内江机房 成都服务器租用,成都服务器托管,骨干网络带宽,享受低延迟,高速访问。灵活、实现低成本的共享或公网数据中心高速带宽的专属高性能服务器。

  (1)、C++中的const是真正的常量,可以进行数组大小的定义;

代码如下:

#include
using namespace std;

#define A 10

int main(void){
    int a = 10; 
    int array[a]; //Linux内核支持这样定义数组,其他的编译器不支持

    const int a = 10;  //这里是常量,所以可以进行下面的数组大小的确定;
    int array[a]; //任何平台都是对的,const编译时,执行;

    return 0;
}

C++中的const,引用本质,内联,默认/占位参数,

  (2)、C++中常引用时,必定开辟了新的内存空间;

代码如下:

#include
using namespace std;

int main(void){
    //int &b = 10; //普通引用,引用一个常量,常量没有内存地址,引用就是给内存取多个别名;

    const int &b = 10; //C++编译器会为其分配内存空间;
}

C++中的const,引用本质,内联,默认/占位参数,

  (3)、const在函数后面修饰的本质:void fun(int a) const;

  本质:void fun(const Teacher * const this, int a){},就是修饰的是*this;

2、引用的本质

  引用的本质:引用在C++中的内部实现是一个常指针;C++编译器帮我们程序员取了一个地址;

  Type &name <===> Type * const name; 

(1)、代码如下:

#include
using namespace std;

struct Teacher{
    char name[64];
    int age;
    int &a; //很像指针所占用的内存空间大小;
    int &b; 
};
//普通引用占内存空间,和指针所占空间大小是一样的;

//引用的本质:引用在C++中的内部实现是一个常指针;C++编译器帮我们程序员取了一个地址;
//          Type &name <===> Type * const name;
int main(void){
    cout<

(2)、运行结果:

C++中的const,引用本质,内联,默认/占位参数,

原因:因为我用的是64位的,所以指针8字节,还有字节对齐,是其中最大基础数据类型字节的整数倍,此处应该为8的整数倍;

3、C++的内联函数

  (1)、内联函数必须和函数体的实现写在一块;
  (2)、内联函数直接将函数体插入在函数调用的地方;
  (3)、内联函数速度更快,没有压栈,调转,返回等额外开销;
  (4)、内联函数中不能有循环语句,不能存在过多的条件判断语句;
  (5)、内联函数只是一种请求,C++编译器不一定允许这种请求;

代码如下:

#include
using namespace std;

inline void printA(){   //内联函数让C++做特殊处理;
    int a = 10; 
    cout<<"a = "<

4、C++中的默认参数

(1)、代码如下:

#include
using namespace std;

//没传参数,就使用默认参数;
int printfA(int a = 1){ 
    cout<

(2)、运行结果:

C++中的const,引用本质,内联,默认/占位参数,

默认参数规则:从左边开始,如果默认参数出现,那么接下来的(右边)都必须是默认参数,否则报错!!


5、占位参数和默认参数

(1)、代码如下:

#include
using namespace std;

//函数占位参数:函数调用时,必须写够参数;
void func1(int a, int b, int){
    cout<<"a "<




本文标题:C++中的const,引用本质,内联,默认/占位参数,
本文路径:http://bjjierui.cn/article/gjsooc.html

其他资讯