【发布时间】:2014-08-03 19:36:34
【问题描述】:
我正在为 c 字符串创建一个动态分配的数组。当我调整数组大小时,我会使用 strcpy、strlen 和 strcat 来帮助完成这个过程。这让我想到,当我为 c 字符串创建动态分配的数组时,我不必为 c 字符串数组声明和定义复制构造函数和赋值运算符。但是,如果我要为双精度或浮点数创建一个动态分配的数组,我将必须声明并定义一个复制构造函数来获取该数组的深层副本,并声明和定义一个赋值运算符以允许某人复制一个实例。
我的问题是,由于 strlen、strcpy 和 strcat 是 C 语言中的预定义函数,它们是否会自动处理诸如深拷贝和在动态数组中复制实例之类的事情,或者定义和声明复制构造函数会更聪明吗?和赋值运算符?
如果这有点模糊,我可以详细说明。
【问题讨论】:
标签: c++ arrays memory-management dynamic