小编use*_*105的帖子

确定存储在 std::vector 中的对象是否可以轻松复制

此代码无法编译,因为静态断言失败。

#include <vector>
#include <type_traits>

class A {
};

int main()
{
    std::vector<A> v;
    static_assert(std::is_trivially_copyable<decltype(v[0])>::value);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

另一方面,如果我将 替换decltype(v[0])A,则它可以编译。问题在于v[0]是 的类型引用A而不是A. 我怎样才能让它v以某种方式工作?

c++ static-assert

2
推荐指数
1
解决办法
107
查看次数

标签 统计

c++ ×1

static-assert ×1