小编Cev*_*vik的帖子

移动分配会破坏引用吗?

我不明白移动赋值是否能够/自由地改变变量x的地址并使所有指针和引用存储&x无效.我认为这是假的,因为默认的移动分配移动每个成员并保留这个指针,但它是否有保证?

编辑:示例

int x(1), y(2);
int& ref(x);
x = std::move(y);
// ref still valid ?
Run Code Online (Sandbox Code Playgroud)

c++ move-assignment-operator

3
推荐指数
1
解决办法
624
查看次数

函数内constexpr变量的行为

我想知道在函数内部定义constexpr变量时内部会发生什么.程序是否存储了被调用函数的constexpr变量的每个版本?

例:

template <class T, std::size_t M, std::size_t N>
template <std::size_t M2, std::size_t N2>
Matrix<T, M, N>::Matrix(const Matrix<T, M2, N2>& m)
{
    constexpr T m_min(MATHS::min(M, M2));
    constexpr T n_min(MATHS::min(N, N2));
    std::size_t i(0), j(0);
    for ( ; i < m_min ; ++i )
    {
        for ( j = 0 ; j < n_min ; ++j )
            m_elts[i][j] = m.m_elts[i][j];
        for ( ; j < N ; ++j )
            m_elts[i][j] = MATHS::CST<T>::ZERO;
    }
    for ( ; i < M ; ++i ) …
Run Code Online (Sandbox Code Playgroud)

c++ constexpr c++11

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

标签 统计

c++ ×2

c++11 ×1

constexpr ×1

move-assignment-operator ×1