【C++碎碎念】C++语言基础(指针、传值方式、const、内联函数)

目录

一、说说使用指针需要注意什么?

二、简述C++有哪几种传值的方式,之间有什么区别

 三、简述const * 和* const的区别

四、说说内联函数和函数的区别,内联函数的作用。


一、说说使用指针需要注意什么?

1、定义指针时,先初始化NULL;

2、用malloc或new申请内存之后,应该立即检查指针值是否为NULL,防止使用指针值为NULL的内存;

3、不要忘记为数组和动态内存赋初值,防止将未被初始化的内存作为右值使用;

4、避免数字或者指针的下标越界,特别要当心发生“多1”或者“少1”的操作;

5、动态内存的申请与释放必须配对,防止内存泄漏

6、用free或delete释放了内存之后,立即将指针设置为NULL,防止野指针

二、简述C++有哪几种传值的方式,之间有什么区别

传参方式有三种:值传递、引用传递、指针传递。

1、值传递:形参即使在函数体内发生变化,也不会影响实参的值;

2、引用传递:形参在函数体内值发生变化,会影响实参的值;

3、指针传递:在指针指向没有发生改变的前提下,形参在函数体内值发生变化,会影响实参的值。

#include <iostream>
using namespace std;

void func(int a,int *b,int &c)
{
    a=2;
    *b=3;
    c=4;
    printf("a=%d,b=%d,c=%d\n",a,*b,c);//a=2,b=3,c=4
}
int main()
{
    int i=10;
    int a=20;
    int *j=&a;
    int k=30;
    func(i,)
    printf("i=%d,j=%d,k=%d\n",i,*j,k);
    return 0;
}

 三、简述const * 和* const的区别

const*   是常量指针;*const 是指针常量

int const *a;  //a指针所指向的内存里的值不变,即(*a)不变;

int *const a;   //a指针所指向的内存地址不变,即a不变;

四、说说内联函数和函数的区别,内联函数的作用。

1、内联函数比普通函数多了关键字inline;

2、内联函数避免了函数调用的开销;普通函数有调用的开销;

3、普通函数在被调用的时候,需要寻址(函数入口地址);内联函数不需要寻址;

4、内联函数有一定的限制,内联函数体要求代码简单,不能包含复杂的结构体语句;普通函数没有这个要求。

  • 22
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 16
    评论
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值