- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
可以在 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 在 visual studio 中的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44765817/
我正在研究捕获在基类上定义的每个方法,查找它在哪个文件中定义,然后基于此执行一些逻辑。 我目前有: # Defined in some file class Subclass ["/home
C++20 特性 std::source_location 用于捕获有关调用函数的上下文的信息。当我尝试将它与可变参数模板函数一起使用时,我遇到了一个问题:我看不到放置 source_location
我在 C++20 模式下使用 GCC10 尝试了以下第一个变体: consteval std::experimental::source_location there() { return st
考虑 following useless code : #include #include #include int main() { auto lines = std::views::io
考虑模板函数 g()和免费功能f() : #include #include auto g(auto...) { std::cout << std::source_location::curren
有一些预定义的预处理器宏(在 C 和 C++ 标准中指定),如 __line__和 __file__在预处理过程中分别由行号和文件名替换。在 C++20 中,一个新类 std::source_loca
std::experimental::source_location可能会在某个时候添加到 C++ 标准中。我想知道是否有可能将位置信息获取到编译时领域。本质上,我想要一个在从不同源位置调用时返回不同
库基础的 C++ 扩展,版本 2 ( N4564 ) 引入了 std::experimental::source_location 类型。 § 14.1.2 [reflection.src_loc.c
我正在按照 official documentation 上的说明进行操作 执行命令时: az acr build --registry --image webimage 我收到了 the foll
我想在 C++ 中创建一个简单的日志函数,它将代码位置添加到日志消息中。我想避免使用宏以及 __FILE__ 和 __LINE__ 的使用。 请注意,format 字符串始终是编译时字符串,我希望在编
可以在 gcc 中使用 __builtin_FILE()、__builtin_LINE()、等。Visual Studio 2017 中是否存在类似的内在函数?或者有什么方法可以在 Visual St
我是一名优秀的程序员,十分优秀!