作者:好咯午睡了_740 | 来源:互联网 | 2022-12-02 16:59
这是我的分配:
for (int i = 0; i
这是我的删除:
for (int i = 0; i
代码是否正常?我可能应该只使用智能指针,但我不知道代码将如何与它们一起使用?因此,如果您投入智能指针代码,将非常感激.这些指针在线程函数中本地使用,不与任何东西共享.
我担心第二个循环需要delete
而不是delete[]
.
TIA!
1> Caleth..:
你不应该在这里使用指针.
using SQLSTRING = std::basic_string;
struct Column
{
SQLSTRING Name;
SQLSTRING Data;
SQLSMALLINT DataType;
SQLULEN DataSize;
SQLSMALLINT DataDigits;
SQLSMALLINT DataNullable;
}
std::vector columns(numCols);
2> 小智..:
不要在用户代码中使用new
和delete
.使用std::vector<>
.
关于new
和delete
:
分配的所有对象new
都必须被释放delete
,
所有分配的对象new[]
都必须被释放delete[]
.
还要确保遵循3/5规则.(如果不使用智能指针或其他跟随RAII/RDID的对象来包装原始拥有指针,那么你应该瞄准的规则 ... ...是不可能的.