- 一、lower_bound upper_bound equal_range
- 二、符号表
- 三、delete一个类与静态成员变量和静态成员函数的情况
- 四、::toupper
- 五、push和reserve
| 操作 | 效果 |
|---|---|
| upper_bound(key) | 返回键值大于key的第一元素 |
| lower_bound(key) | 返回键值大于等于key的第一元素 |
| equal_range(key) | 返回键值等于key的元素区间 |
二、符号表 三、delete一个类与静态成员变量和静态成员函数的情况
#includeusing namespace std; class cla { static int n; int k = 0; public: cla() { n++; } ~cla() { n--; cout << "~cla" << endl; } static int get_n() { return n; } }; int cla::n = 0; int main(int argc, char const *argv[]) { // cla *p = new cla; // delete p; cout << "n=" << cla::get_n() << endl; //cout << p->Mytry() << endl; cout << "hhh" << endl; return 0; }
四、::toupper1.当delete时,析构就会调用
2.就算没有构建类的时候,也能访问到静态成员变量和静态成员函数
toupper:是把小写变成大写的函数
::这个前面为什么没有命名空间或者std?
问了一位大佬,;;这个是全局的命名空间,比std的范围还要大,所以toupper可以在外部直接使用,在局部需要加上::
push会新建容器,把之前存储的类,进行拷贝构造
emplace是原地构造,不需要吧之前存储的类拷贝构造,
这两者的共同点是,本次传入的类需要拷贝构造



