c++ - 创建新map对象问题

【字号: 日期:2023-04-17浏览:12作者:雯心

问题描述

在《c++ primer》练习11.7中,当指定的家庭不存在时有一段代码如下:

families[family]=vector<string>();

这段代码最后一个括号作用是嘛啊- - 是哪一部分的知识呢??

问题解答

回答1:

vector<string>表示一个类型vector<string>()表示由此类型创建的(临时)变量(相当于直接调用了构造函数,这不过这里调用的是一个无参数的构造函数,由此创造了一个匿名临时变量)

回答2:

调用vector<string>的默认构造函数,产生一个vector对象。比如有一个class A。是可以A a = A();的,这个对象不是new出来的,所以在栈里。

相关文章: