加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 检测(无意义)临时对象的分配

发布时间:2020-12-16 06:50:14 所属栏目:百科 来源:网络整理
导读:是否有任何编译器选项允许您在尝试分配临时对象时收到警告? 例: struct S { S op() { return S(); }};int main() { S s; s.op() = s; // assign to temporary. Wants to warn here.} 我知道你可以将op的返回类型声明为const以防止出现这种情况,但现在我感
是否有任何编译器选项允许您在尝试分配临时对象时收到警告?

例:

struct S {
    S op() { return S(); }
};

int main() {
    S s;
    s.op() = s; // assign to temporary. Wants to warn here.
}

我知道你可以将op的返回类型声明为const以防止出现这种情况,但现在我感兴趣的只是编译器选项.

您可以使用任何流行的现代编译器.

解决方法

编译器可能无法说出有用的副作用.

编译器警告

int test( S & data );

test( S.op());

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读