我的问题是:如果
std::source_location::current()
对于同一位置被多次调用,是
std::source_location
保证每次通话的对象都是一样的?
换句话说,给定以下代码:
#include <source_location>
#include <iostream>
#include <format>
void log(const std::source_location& location = std::source_location::current())
{
std::cout << std::format("{}\n", static_cast<const void*>(&location));
}
void func()
{
log();
}
int main()
{
func();
func();
func();
}
每一个电话
func()
保证每次打印相同的地址?
这个问题的目的是找到一种有效的方法来散列一个
std::source_location
对象,理想情况下创建对象的完美哈希值