此代码无法编译,因为静态断言失败。
#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以某种方式工作?