gpt4 book ai didi

c++ - std::experimental::source_location 在 vi​​sual studio 中的实现

转载 作者:行者123 更新时间:2023-11-30 03:30:44 25 4
gpt4 key购买 nike

可以在 gcc 中使用 __builtin_FILE()__builtin_LINE()、等。Visual Studio 2017 中是否存在类似的内在函数?或者有什么方法可以在 Visual Studio 2017 中实现 std::experimental::source_location 吗?

最佳答案

不幸的是,目前没有办法仅通过编译器正确实现 source_location,因此您必须使用预处理器和宏,如 __FILE____LINE____FUNCTION__ 将位置信息提供给存储它们的数据结构(您称之为 source_location)。

话虽如此,我确实分担了您的痛苦。

我最近一直在开发一个小型库,它向抛出的异常添加位置数据和一些其他信息,最后我不得不得到一个像 MY_THROW(Exception(args)) 基本上只是将从上述宏中获得的值提供给抛出异常的函数。尽管它看起来很糟糕,但它似乎是迄今为止唯一可行的选择。

关于c++ - std::experimental::source_location 在 vi​​sual studio 中的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44765817/

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