创建一个没有变量名的结构,它有什么用?

Creating a struct without a variable name, how is it useful?

我刚刚遇到这个语法,我不确定我在哪里可以真正使用它。

std::hash<std::string>{}(str);

我看到这里没有使用变量名来引用创建的记录,我想知道除了调用 functions/overloaded 运算符之外,为什么有人会使用这种语法来创建 structs/record?

从本质上讲,是的,如果您想调用构造函数或成员函数就可以这样做,但您不关心对象本身。

根据我的经验,这在 RAII 类型中最常见,其中对象的生命周期与资源相关联。您创建一个对象,从而获取资源(如文件或某物),然后对该资源执行某些操作。现在说你以后不需要它。如果你不给它一个名字,它会在你完成后直接调用析构函数,因为 'variable' (它甚至不存在)立即离开范围,从而释放资源。