c++ - 创建一个没有变量名的结构,它有什么用?
问题描述
我刚刚遇到这种语法,我不确定我在哪里可以真正使用它。
std::hash<std::string>{}(str);
我看到这里没有使用变量名来引用创建的记录,我想知道为什么除了调用函数/重载运算符之外,还有人会使用这种语法来创建结构/记录?
解决方案
本质上,是的,如果你想调用构造函数或成员函数,你会这样做,但你不关心对象本身。
根据我的经验,这在 RAII 类型中最常见,其中对象的生命周期与资源相关联。您创建一个对象,从而获取资源(如文件或某物),然后对该资源执行某些操作。现在说你以后不需要它。如果你不给它一个名字,它会在你完成后直接调用析构函数,因为“变量”(甚至不存在)会立即超出范围,从而释放资源。
推荐阅读
- rust - 如何创建具有特征作为返回参数的特征方法?
- python - 在“datetime.time”和“datetime.datetime”的实例之间不支持“>”
- python - 使用 python igraph 转换为线图时维护边缘属性
- android - Firebase 帐户与不同的提供商合并
- python - Conv3d 与 Conv2d 之间的区别
- javascript - 这些方法中哪一种更适合条件事件处理程序?
- php - 如何根据一个ID列表动态插入多行
- python - SQLAlchemy - SQL Server 连接
- excel - Oracle:ORA-12154:TNS 问题:Excel 64 位/Windows 10 64 位
- swift - 如何处理 WKWebview 中的 js 弹出警报,就像 safari 一样?