C++学习笔记之语法2

new和命名空间
动态分配内存
申请一个int类型内存大小的空间给指针
首例子:

//申请内存,!!申请内存后一定要释放内存
int *p=new int(100);//申请一个int类型内存大小的空间给指针
*p=10;//数据赋值
cout<<*p<<endl;//数据
cout<<p<<endl;//地址
delete p;//释放内存

其次
new的两种用法:1.分配单个内存;2.分配连续内存

//1.分配单个内存初始化和不初始化
int *p=new int;//分配单个内存,不初始化
int *p=new int(1);//分配单个内存,而且初始化里面的内容为1
delete p;
P=NULL;//顺手给它个NULL更好了

//以上两种,用完一定要释放的!!
//2.释放连续内存
int *p=new int[10];//分配连续内存,并不初始化
memset(p,0,sizeof(int)*4);//全部初始化为0//指针,0,大小
delete []p;//释放连续内存

分配动态内存需要注意的一件事情
1.内存没有分配就去使用
2.内存分配后,没有初始化就去使用它
3.内存分配成功,也初始化了,但操作越界!!例如分配连续内存,然后超过了限定数
4.忘记释放内存,造成内存泄漏,所以一定要记得用delete
5.释放了内存,却继续使用它
指针用完后一定要赋值给个NULL,保险一些

cin与cout:
cin>>变量;
cout<<变量;

对于引用函数

int &fun()
{
	int a=12;
	return a;
}
//这样子写的话,是错误的,因为要求返回的是引用变量,但你返回的是局部变量

空间:
命名空间的语法格式:
namespace 命名空间标识符
{

}
例子:

nampespace yimu
{
	int age=18;
	void speak()
	{
		cout<<age<<endl;
	}
}
//使用方式1:
using nampspace yimu;
int main()
{
	speak();
}
//使用方法2:
int main()
{
	yimu::speak();//这样子就可以说明是谁的函数,然后进行调用
}
//使用方法3:
using yimu::age;//可以用命名空间中的变量

命名空间取别名

using namespace bb{}
namespace AA=bb;//这样的话
//之后正常用AA就可以调用bb中的东西了

string类(系统封装好的一个字符串类)
也就是说string类是用于存字符串的

string str1="ljm";
cout<<str1.size()<<endl;//如c语言中的sizeof()
cout<<str1<<endl;//那就是打印的字符
发布了6 篇原创文章 · 获赞 9 · 访问量 141

猜你喜欢

转载自blog.csdn.net/weixin_41946168/article/details/105522459