gpt4 book ai didi

c++ - 强制 const 存储按值返回的值

转载 作者:太空狗 更新时间:2023-10-29 21:26:49 25 4
gpt4 key购买 nike

这就是我想要完成的:

struct test{};

const test returnconst(){
return test();
}

test returnnonconst(){
return test();
}

int main(){
test t1=returnnonconst();
const test t2=returnnonconst();
test t3=returnconst(); //I want this to be a compile error
const test t4=returnconst();
}

编译器接受所有四个 return* 调用。我知道在第三次调用中构造了对象的拷贝,但我想改为强制 returnconst 的调用者将值存储为 const。有解决办法吗?

最佳答案

您按值(value)返回。您正在创建 const拷贝。所以你基本上是说你不想复制 const:

<删除> 结构测试 { 私有(private)的: 测试(常量测试和其他); };

前面的代码不起作用,您会收到大量其他错误。这是不可能的:)

它不起作用不是因为您限制它创建 const 对象的拷贝,而是没有办法强制新创建的对象也是 const

关于c++ - 强制 const 存储按值返回的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10522449/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com