Value-initializing an automatic object?

前端 未结 3 1824
北荒
北荒 2020-12-06 04:14

I\'m writing a template class and at one point in my code would like to be able to value-initialize an object of the parameterized type on the stack. Right now, I\'m accomp

3条回答
  •  隐瞒了意图╮
    2020-12-06 04:41

    No, there isn't any other way to reliably value-initialize a template type in C++03.

    If you can count on T only being class types with default constructors, you could just write

    T valueInitialized;
    

    but if T might as well be a built-in type,

    T valueInitialized = T();
    

    is the way to go.

    Do you have any reason to not to trust your compiler to optimize away that copy?

提交回复
热议问题