嘉明的C++学习(1)之C++语言基础

嘉明的C++学习(1)

C++的语言基础

C++的输入
在这里插入图片描述cin是输入流对象,代表标准输入设备,一般指键盘 >>代表将从流入对象(键盘)读取的数值传达给右边的变量

C++的输出
标准输出流对象cout<<在 C++中保持左移的功能,允许连续输出多数据,也可以输出表达式的值
注意:在使用cin与cout之前,一定要加上箭头指向的两个语句。
#include
using namespace std;

在这里插入图片描述在这里插入图片描述
std::是个名称空间标识符,C++标准库中的函数或者对象都是在命名空间std中定义的,所以我们要使用标准库中的函数或者对象都要用std来限定。
代码如下:

#include<iostream>
using namespace std;
int main(){
	 int i = 10;
	 cout << "i = " << i<< '\n';
     return 0;
}

结果
在这里插入图片描述

内联函数

在这里插入图片描述内联函数用于简单的程序运行有很大帮助,其可以省略繁琐的调用步骤和过程,争取让程序做到一步到位。
例如你要去过一个有河的岸,可能你需要乘车去岸边然后再乘船再乘车,这就好比函数调用过程,繁琐且枯燥,但是这时你有了直升飞机(比作内联函数),你就可以直接过去,省略繁琐的过程。
但如果你去的途中有很多东西要拿(比作程序的复杂程度),直升机不能承受那么多重量,所以你也只能依靠货车和轮船(比作繁琐的调用过程)来完成了。
这样就比较容易理解内联函数的作用了。

内联函数具有一般函数的特性,它与一般函数所不同之处只在于函数调用的处理。一般函数进行调用时,要将程序执行权转到被调用函数中,然后再返回到调用它的函数中;而内联函数在调用时,是将调用表达式用内联函数体来替换。在使用内联函数时,应注意如下几点:
1.在内联函数内不允许用循环语句和开关语句。如果内联函数有这些语句,则编译将该函数视同普通函数那样产生函数调用代码,递归函数(自己调用自己的函数)是不能被用来做内联函数的。内联函数只适合于只有1~5行的小函数。对一个含有许多语句的大函数,函数调用和返回的开销相对来说微不足道,所以也没有必要用内联函数实现。
2.内联函数的定义必须出现在内联函数第一次被调用之前。
3.类结构中所有在类说明内部定义的函数是内联函数。

#include<iostream>
using namespace std;
inline double circle(double r){
	return 3.1415*r*r//return后面的部分就为函数体;
}
int main(){
    double area; 
	double r;
	cout << "请赋予圆半径r:"<<endl;
    cin >> r;
	area = circle(r);
	cout<<"r = "<< r << endl << "area = " << area <<endl;
	return 0;
}



结果
在这里插入图片描述

endl的作用是换行
可以插入到输出流中,效果为在输出结果中插入换行符’\n’。

函数重载

在这里插入图片描述代码举例子说明:

#include<iostream>
using namespace std;
void sum(int x){
	cout << "该数据类型为int" << endl << "----------"<< endl;
}
void sum(double x){
	cout << "该数据类型为double" << endl<< "----------" << endl;
}
void sum(char x){
	cout << "该数据类型为char" << endl;
}
int main(){
	int x = 2;
	cout<< "x = " << x << endl;
	sum(x);
	double y = 3.14;
	cout<< "y = " << y << endl; 
	sum(y);
	char z = 'a';
	cout<< "z = " << z << endl;
	sum(z);
	cout<<endl;
	return 0;
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

new与delete

在这里插入图片描述比如定义了一个指针int *p
这时 p = new int ,new运算符就为指针p开辟了一个int类型的储存区,并且将首地址赋值给p,即返回申请空间的地址
但如果不满足内存分配要求,new将返回一个null值

在这里插入图片描述delete运算符,用于释放空间,提高内存利用率
注!:如果delete释放的是数组必须在指针名前加[],否则释放内存不够完整,不利于内存利用率
比如 delete []s;

#include<iostream>
using namespace std;
int main(){
	int *p;
	p = new int[5];
		for(int i = 0; i<5 ; i++)
			p[i] = 20 + i*5;
		for(int j = 0; j<5 ; j++)
			cout << "p[" << j << "] = " << p[j] <<endl;
		delete []p;
		cout << "释放内存后p[1] = " << p[1] << endl;
		return 0;
}

结果:
在这里插入图片描述这就是new 与 delete 的功能

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值