我是靠谱客的博主 坦率火龙果,最近开发中收集的这篇文章主要介绍C++ new动态数组初始化,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

//strlen函数是不包括‘’的长度的,sizeof计算的结果才包括''的长度:
//C++ new动态数组初始化
void testnew( const char* str )
{
if (!str){
m_pdata = 0;
}
else{    
int len = strlen(str);
m_pdata = new char[len + 1];
strcpy(m_pdata,str);    
m_pdata[len] = '';
}
}

动态数组初始化:


对于内置数据类型元素的数组,必须使用()来显示指定程序执行初始化操作,否则程序不执行初始化操作:

int *pia = new int[10]; // 每个元素都没有初始化

int *pia2 = new int[10] ();  // 每个元素初始化为0


类类型元素的数组,则无论是否使用(),都会自动调用其默认构造函数来初始化:

string *psa = new string[10];  // 每个元素调用默认构造函数初始化
 

string *psa = new string[10]();  // 每个元素调用默认构造函数初始化

最后

以上就是坦率火龙果为你收集整理的C++ new动态数组初始化的全部内容,希望文章能够帮你解决C++ new动态数组初始化所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部