gpt4 book ai didi

c++ - 如何正确初始化模板类型的成员变量?

转载 作者:太空宇宙 更新时间:2023-11-04 12:35:58 26 4
gpt4 key购买 nike

建议我有一个如下的模板函数:

template<class T>
void doSomething()
{
T a; // a is correctly initialized if T is a class with a default constructor
...
};

但是如果 T 是原始类型,则变量 a 未初始化。我可以写 T a(0),但如果 T 是一个类,这就不起作用。有没有办法在两种情况下(T == class、T == int、char、bool、...)初始化变量?

最佳答案

像这样:

T a{};

C++11 之前的版本,这是最简单的近似值:

T a = T();

但它要求 T 是可复制的(尽管复制肯定会被省略)。

关于c++ - 如何正确初始化模板类型的成员变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56349091/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com