gpt4 book ai didi

c++ - 有没有办法使成员函数不能从构造函数调用?

转载 作者:IT老高 更新时间:2023-10-28 21:47:11 26 4
gpt4 key购买 nike

我有使用

的成员函数(方法)
std::enable_shared_from_this::weak_from_this() 

简而言之:weak_from_thisweak_ptr 返回到 this。一个警告是它不能从构造函数中使用。如果有人从继承类的构造函数中使用我的函数,则其中的 weak_from_this 将返回过期的 weak_ptr。我通过断言检查它没有过期来防止这种情况发生,但它是一个运行时检查。

有没有办法在编译时检查它?

最佳答案

恐怕答案是“不,不可能在编译时防止这种情况发生。”总是很难证明是否定的,但请考虑一下:如果可以通过这种方式保护函数,那么标准中的 weak_from_thisshared_from_this 可能已经这样做了图书馆本身。

关于c++ - 有没有办法使成员函数不能从构造函数调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55576192/

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