C++易混概念

转载自:黑凤梨の博客

C++易混概念与定义

const 修饰符

const修饰符的作用是修饰一个不能被更新的参数。
程序一:

#include <iostream>
using namespace std;
int main()
{
	int i;
	i = 1;
	cout<< i <<endl;
	system("pause");
	return 0;
}

输出结果:
在这里插入图片描述
程序二:

#include <iostream>
using namespace std;
int main()
{
	 const int i;
	 i = 1;
	cout<< i <<endl;
	system("pause");
	return 0;
}

报错:
在这里插入图片描述
这说明:
1.被const修饰的对象如果不是在函数体外部定义,则必须进行初始化。
2.被const修饰对象不能在程序中修改。
因此被const修饰的对象是不能被改变的常量对象,也叫常类型。

当一个函数使用指针类型或引用参数类型时,函数体中可以对指针指向的对象或引用的对象进行间接修改,为避免被引用的对象或被指向的对象被间接修改,可将其声明为const类型指针或const类型引用。

“&”引用运算符

在拷贝构造函数CMyString(const CMstring &s)中,&s叫做对象引用。“&”被叫做引用运算符(并非取地址运算符)。此时,对象引用作为函数的形参。
在C++中引用作为形参的一般用法格式:

形参说明格式为:type1 &a
对应实参的格式为:b

其中,a前面的type1是引用的对象类型,同时也是实参b的类型。形实结合时,建立a和b之间的“引用”关系(a是b的引用,a是b的别名),在被调函数体内,a就等于b。对a的赋值实际上就是对b的赋值,所以可以通过引用带回计算结果。

new和delete

new和delete是动态存储空间分配和释放的运算符。
(1)new动态分配存储空间
str = new char[len+1]语句的作用是:str被设置为指向被动态分配的字符串存储空间的指针。
(2)delete释放存储空间
在析构函数~CMyString(){if (len) delete str;}中,delete str 的作用就是释放字符串存储空间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值