栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C与C++区别(二)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C与C++区别(二)

1.struct类型:C++中定义结构体变量不再需要struct关键字,并且结构体中可以包含函数,函数在结构体中声明,结构体外访问。结构体中的变量必须用结构体变量访问。操作如下:

#include
using namespace std;
struct HU{//定义结构体
	int data=1;
	char str[20];
	void func();
};
void HU::func(){
	cout << HU::data<func();//访问结构体中的成员,也可以*p.成员
	while (1);
	return 0;
}

2.动态内存申请:C语言中:malloc 不带初始化;alloc带初始化;realloc重新申请;

                            C++中:new申请 ,如int*p=new int(不赋值),int*p=new int[3](申请一段内存),int*p=new int(3)(带初始化,只有一个对象),int*p=new int[3]{1,2,3}(带初始化);delete删除(delete有两种形式:delete 指针和delete [] 指针,后者代表释放一段内存)。struct类型访问struct中的元素必须作内存二次申请。

3.内存池:允许申请一段内存供给程序使用,综合管理内存。malloc内存在堆区,new内存在自由区。

void arraymemory(){
	 char* data = new char[1024];//事情的处理所有的内存源于data
	int* pstr = new(data)int[3]{1,2,3};//new(内存的初始位置)
	int* pstr1 = new(data + 12)int [3]{2, 3,4};//等效于int*pstr1 = new(pstr + 3)int [3]{2, 3,4};	
	for (int i = 0; i < 3; i++){
cout << pstr[i] << "t"< 

 4.string类型:包含文件#include(注意和strin.h的区别)

string基本操作:一:拷贝:string str3=str2

                           二:赋值:直接赋值即可

                           三:链接:用+链接,没有减法.如:string str=str1+str2

                           四:比较:直接比较即可

# C++中的string不能用到C语言中的字符串处理函数

string类型用c_str()或者用data()转换到char*类型 

to_string 可以直接把数字转化成相应的字符串:string str=to_string(123)

C++中的字符串不包含,所以下标方式访问string类型时只需要数字符串的长度,如:

 string str={"imissyou"}

for(int i=0;i<8;i++){

cout<

}

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/528948.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号